mbox series

[0/6] Add Mule PWM-over-I2C support

Message ID 20240529-buzzer_support-v1-0-fd3eb0a24442@cherry.de (mailing list archive)
Headers show
Series Add Mule PWM-over-I2C support | expand

Message

Farouk Bouabid May 29, 2024, 10:10 a.m. UTC
Mule is an MCU that emulates a set of I2C devices which are reachable
through an I2C-mux that is implemented in a different patch-series[1].

Device #1 on the mux is a PWM controller that allows users to I2C-configure
the PWM output signal.

On rk3399-puma-haikou, px30-ringneck-haikou, rk3588-tiger-haikou and
rk3588-jaguar boards, this PWM controller is connected to a PWM beeper.

      +-----------------------------------------------+
      |  Mule                                         |
      |        +---------------+                      |
    ----+----->|Config register|                      |
      | |      +--------|------+                      |
      | |               |                             |
      | |               V                             |
      | |               __           +--------------+ |
      | |              |   \-------->| amc6821      | |
      | |              |   |         +--------------+ |      +--------+
      | |              | M |-------->| PWM over I2C |------->| Beeper |
      | +------------->| U |         +--------------+ |      +--------+
      |                | X |-------->| dev #2       | |
      |                |   |         +--------------+ |
      |                |   /-------->| dev #3       | |
      |                |__/          +--------------+ |
      +-----------------------------------------------+

This patch-series add support for Mule PWM-over-I2C controller as well
as the PWM-beeper on theses boards.

The device-tree patches are to be merged after the other patch-series.
The dt-bindings and driver patches can be merged regardless of the state
of the other series.

[1] https://lore.kernel.org/lkml/20240506-dev-mule-i2c-mux-v2-0-a91c954f65d7@cherry.de/

Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
Farouk Bouabid (6):
      dt-bindings: pwm: add dt-bindings for mule pwm-over-i2c controller
      pwm: add mule pwm-over-i2c driver
      arm64: dts: rockchip: add pwm-beeper to rk3399-puma-haikou
      arm64: dts: rockchip: add pwm-beeper to px30-ringneck-haikou
      arm64: dts: rockchip: add pwm-beeper to rk3588-tiger-haikou
      arm64: dts: rockchip: add pwm-beeper to rk3588-jaguar

 .../devicetree/bindings/pwm/tsd,pwm-mule.yaml      |  46 +++++++++
 .../boot/dts/rockchip/px30-ringneck-haikou.dts     |   5 +
 arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi    |  13 +++
 .../arm64/boot/dts/rockchip/rk3399-puma-haikou.dts |   5 +
 arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi      |  13 +++
 arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts     |  18 ++++
 .../boot/dts/rockchip/rk3588-tiger-haikou.dts      |   6 ++
 arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi     |  13 +++
 drivers/pwm/Kconfig                                |  10 ++
 drivers/pwm/Makefile                               |   1 +
 drivers/pwm/pwm-mule.c                             | 115 +++++++++++++++++++++
 11 files changed, 245 insertions(+)
---
base-commit: fd8c3f3cd1b029f1851393839f7ce558db9cf202
change-id: 20240515-buzzer_support-33d93c9d0f1b

Best regards,