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

From: Farouk Bouabid
Date: Wed May 29 2024 - 06:12:33 EST


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@xxxxxxxxx/

Signed-off-by: Farouk Bouabid <farouk.bouabid@xxxxxxxxx>
---
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,
--
Farouk Bouabid <farouk.bouabid@xxxxxxxxx>