Message ID | 20221231235541.13568-1-samuel@sholland.org (mailing list archive) |
---|---|
Headers | show |
Series | leds: Allwinner A100 LED controller support | expand |
On Sat 2022-12-31 @ 05:55:35 PM, Samuel Holland wrote: > [Resending because it has been a couple of months since v7 with no LED > maintainer feedback, and LEDs now have an additional maintainer.] > > This series adds bindings and a driver for the RGB LED controller found > in some Allwinner SoCs, starting with A100. The hardware in the R329 and > D1 SoCs appears to be identical. > > Patches 4-5 depend on the D1 devicetree series[1], but the rest of this > series can/should be merged without them. > > This driver was tested on the D1 Nezha board. > > [1]: https://lore.kernel.org/lkml/20221231233851.24923-1-samuel@sholland.org/ > > Changes in v7: > - Use DEFINE_SIMPLE_DEV_PM_OPS > > Changes in v6: > - Drop the A100 DMA controller DT node patch, which was merged via a > different series > > Changes in v5: > - A100 contains the original implementation, so use that as the base > compatible string, and rename the binding to match > - Add "unevaluatedProperties: false" to the child multi-led binding > - Rename the driver R329 -> A100, since that is the actual original > implementation > > Changes in v4: > - Use "default" instead of "maxItems" for timing properties > - Depend on LEDS_CLASS_MULTICOLOR > > Changes in v3: > - Removed quotes from enumeration values > - Added vendor prefix to timing/format properties > - Renamed "format" property to "pixel-format" for clarity > - Dropped "vled-supply" as it is unrelated to the controller hardware > - Added vendor prefix to timing/format properties > - Renamed "format" property to "pixel-format" for clarity > - Dropped "vled-supply" as it is unrelated to the controller hardware > - Changed "writesl" to "iowrite32_rep" so the driver builds on hppa > > Changes in v2: > - Fixed typo leading to duplicate t1h-ns property > - Removed "items" layer in definition of dmas/dma-names > - Replaced uint32 type reference with maxItems in timing properties > - Renamed from sunxi-ledc to sun50i-r329-ledc > - Added missing "static" to functions/globals as reported by 0day bot > > Samuel Holland (5): > dt-bindings: leds: Add Allwinner A100 LED controller > leds: sun50i-a100: New driver for the A100 LED controller > arm64: dts: allwinner: a100: Add LED controller node > riscv: dts: allwinner: d1: Add LED controller node > riscv: dts: allwinner: d1: Add RGB LEDs to boards > > .../leds/allwinner,sun50i-a100-ledc.yaml | 139 +++++ > .../arm64/boot/dts/allwinner/sun50i-a100.dtsi | 14 + > .../allwinner/sun20i-d1-lichee-rv-dock.dts | 12 + > .../boot/dts/allwinner/sun20i-d1-nezha.dts | 13 + > arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi | 6 + > .../boot/dts/allwinner/sunxi-d1s-t113.dtsi | 15 + > drivers/leds/Kconfig | 9 + > drivers/leds/Makefile | 1 + > drivers/leds/leds-sun50i-a100.c | 555 ++++++++++++++++++ > 9 files changed, 764 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/allwinner,sun50i-a100-ledc.yaml > create mode 100644 drivers/leds/leds-sun50i-a100.c this whole series: Tested-by: Trevor Woerner <twoerner@gmail.com> from: https://github.com/smaeul/linux/tree/d1/all test script: https://github.com/twoerner/rgb-led-test
On Sat, 31 Dec 2022 15:55:35 PST (-0800), samuel@sholland.org wrote: > [Resending because it has been a couple of months since v7 with no LED > maintainer feedback, and LEDs now have an additional maintainer.] > > This series adds bindings and a driver for the RGB LED controller found > in some Allwinner SoCs, starting with A100. The hardware in the R329 and > D1 SoCs appears to be identical. > > Patches 4-5 depend on the D1 devicetree series[1], but the rest of this > series can/should be merged without them. > > This driver was tested on the D1 Nezha board. > > [1]: https://lore.kernel.org/lkml/20221231233851.24923-1-samuel@sholland.org/ > > Changes in v7: > - Use DEFINE_SIMPLE_DEV_PM_OPS > > Changes in v6: > - Drop the A100 DMA controller DT node patch, which was merged via a > different series > > Changes in v5: > - A100 contains the original implementation, so use that as the base > compatible string, and rename the binding to match > - Add "unevaluatedProperties: false" to the child multi-led binding > - Rename the driver R329 -> A100, since that is the actual original > implementation > > Changes in v4: > - Use "default" instead of "maxItems" for timing properties > - Depend on LEDS_CLASS_MULTICOLOR > > Changes in v3: > - Removed quotes from enumeration values > - Added vendor prefix to timing/format properties > - Renamed "format" property to "pixel-format" for clarity > - Dropped "vled-supply" as it is unrelated to the controller hardware > - Added vendor prefix to timing/format properties > - Renamed "format" property to "pixel-format" for clarity > - Dropped "vled-supply" as it is unrelated to the controller hardware > - Changed "writesl" to "iowrite32_rep" so the driver builds on hppa > > Changes in v2: > - Fixed typo leading to duplicate t1h-ns property > - Removed "items" layer in definition of dmas/dma-names > - Replaced uint32 type reference with maxItems in timing properties > - Renamed from sunxi-ledc to sun50i-r329-ledc > - Added missing "static" to functions/globals as reported by 0day bot > > Samuel Holland (5): > dt-bindings: leds: Add Allwinner A100 LED controller > leds: sun50i-a100: New driver for the A100 LED controller > arm64: dts: allwinner: a100: Add LED controller node > riscv: dts: allwinner: d1: Add LED controller node > riscv: dts: allwinner: d1: Add RGB LEDs to boards > > .../leds/allwinner,sun50i-a100-ledc.yaml | 139 +++++ > .../arm64/boot/dts/allwinner/sun50i-a100.dtsi | 14 + > .../allwinner/sun20i-d1-lichee-rv-dock.dts | 12 + > .../boot/dts/allwinner/sun20i-d1-nezha.dts | 13 + > arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi | 6 + > .../boot/dts/allwinner/sunxi-d1s-t113.dtsi | 15 + > drivers/leds/Kconfig | 9 + > drivers/leds/Makefile | 1 + > drivers/leds/leds-sun50i-a100.c | 555 ++++++++++++++++++ > 9 files changed, 764 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/allwinner,sun50i-a100-ledc.yaml > create mode 100644 drivers/leds/leds-sun50i-a100.c Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Thx Samuel, On Sun, Jan 1, 2023 at 7:55 AM Samuel Holland <samuel@sholland.org> wrote: > > [Resending because it has been a couple of months since v7 with no LED > maintainer feedback, and LEDs now have an additional maintainer.] > > This series adds bindings and a driver for the RGB LED controller found > in some Allwinner SoCs, starting with A100. The hardware in the R329 and > D1 SoCs appears to be identical. > > Patches 4-5 depend on the D1 devicetree series[1], but the rest of this > series can/should be merged without them. > > This driver was tested on the D1 Nezha board. > > [1]: https://lore.kernel.org/lkml/20221231233851.24923-1-samuel@sholland.org/ > > Changes in v7: > - Use DEFINE_SIMPLE_DEV_PM_OPS > > Changes in v6: > - Drop the A100 DMA controller DT node patch, which was merged via a > different series > > Changes in v5: > - A100 contains the original implementation, so use that as the base > compatible string, and rename the binding to match > - Add "unevaluatedProperties: false" to the child multi-led binding > - Rename the driver R329 -> A100, since that is the actual original > implementation > > Changes in v4: > - Use "default" instead of "maxItems" for timing properties > - Depend on LEDS_CLASS_MULTICOLOR > > Changes in v3: > - Removed quotes from enumeration values > - Added vendor prefix to timing/format properties > - Renamed "format" property to "pixel-format" for clarity > - Dropped "vled-supply" as it is unrelated to the controller hardware > - Added vendor prefix to timing/format properties > - Renamed "format" property to "pixel-format" for clarity > - Dropped "vled-supply" as it is unrelated to the controller hardware > - Changed "writesl" to "iowrite32_rep" so the driver builds on hppa > > Changes in v2: > - Fixed typo leading to duplicate t1h-ns property > - Removed "items" layer in definition of dmas/dma-names > - Replaced uint32 type reference with maxItems in timing properties > - Renamed from sunxi-ledc to sun50i-r329-ledc > - Added missing "static" to functions/globals as reported by 0day bot > > Samuel Holland (5): > dt-bindings: leds: Add Allwinner A100 LED controller > leds: sun50i-a100: New driver for the A100 LED controller > arm64: dts: allwinner: a100: Add LED controller node > riscv: dts: allwinner: d1: Add LED controller node > riscv: dts: allwinner: d1: Add RGB LEDs to boards > > .../leds/allwinner,sun50i-a100-ledc.yaml | 139 +++++ > .../arm64/boot/dts/allwinner/sun50i-a100.dtsi | 14 + > .../allwinner/sun20i-d1-lichee-rv-dock.dts | 12 + > .../boot/dts/allwinner/sun20i-d1-nezha.dts | 13 + > arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi | 6 + > .../boot/dts/allwinner/sunxi-d1s-t113.dtsi | 15 + > drivers/leds/Kconfig | 9 + > drivers/leds/Makefile | 1 + > drivers/leds/leds-sun50i-a100.c | 555 ++++++++++++++++++ > 9 files changed, 764 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/allwinner,sun50i-a100-ledc.yaml > create mode 100644 drivers/leds/leds-sun50i-a100.c Acked-by: Guo Ren <guoren@kernel.org> > > -- > 2.37.4 >