From 7a3a667c7f4e258a2785ee7bae5570ffb3d557ca Mon Sep 17 00:00:00 2001 From: Junyi Zhao Date: Thu, 4 Apr 2024 15:13:54 +0800 Subject: [PATCH] led: add led driver [1/1] PD#SWPL-163797 Problem: there is no led driver Solution: add led driver Verify: s7d bm201 Change-Id: I47801753b2e7fd5a2a805bdea25e295ff242a406 Signed-off-by: Junyi Zhao --- arch/arm64/boot/dts/amlogic/meson-s7d.dtsi | 1 + .../boot/dts/amlogic/s7d_s905x5m_bm201.dts | 103 +++++++----------- .../boot/dts/amlogic/s7d_s905x5m_bm202.dts | 92 ++-------------- .../boot/dts/amlogic/s7d_s905x5m_bm209.dts | 99 +++-------------- 4 files changed, 68 insertions(+), 227 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-s7d.dtsi b/arch/arm64/boot/dts/amlogic/meson-s7d.dtsi index 71706dcf5..608916fbc 100644 --- a/arch/arm64/boot/dts/amlogic/meson-s7d.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-s7d.dtsi @@ -2122,6 +2122,7 @@ state_led: state_led { compatible = "amlogic,state-led-aocpu"; + mboxes = <&mbox_fifo S7D_REE2AO_LED>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm201.dts b/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm201.dts index 06d704b42..060eee1e4 100644 --- a/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm201.dts +++ b/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm201.dts @@ -240,6 +240,23 @@ 0xffff 0x0>; /* ending flag */ }; + gpio_leds { + compatible = "gpio-leds"; + status = "okay"; + pwr_led { + label = "pwr_led"; + gpios = <&gpio GPIODV_5 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + bt_led { + label = "bt_led"; + gpios = <&gpio GPIODV_6 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + + }; + dvb-extern { compatible = "amlogic, dvb-extern"; dev_name = "dvb-extern"; @@ -898,13 +915,6 @@ }; }; -&i2c3 { - status = "disabled"; - pinctrl-names="default"; - pinctrl-0=<&i2c3_pins2>; - clock-frequency = <300000>; -}; - &i2c4 { status = "disabled"; pinctrl-names="default"; @@ -912,84 +922,51 @@ clock-frequency = <300000>; }; -&i2c1 { - status = "disabled"; +&i2c3 { + status = "okay"; pinctrl-names="default"; - pinctrl-0=<&i2c1_pins2>; + pinctrl-0=<&i2c3_pins2>; clock-frequency = <300000>; /* default 100k */ - tlc59116: tlc59116@60 { - compatible = "amlogic,tlc59116_led"; - reg = <0x60>; - status = "disabled"; - - led0 { - default_colors = <0 0 0>; - r_io_number = <0>; - g_io_number = <10>; - b_io_number = <5>; - }; - - led1 { - default_colors = <0 0 0>; - r_io_number = <1>; - g_io_number = <11>; - b_io_number = <6>; - }; - - led2 { - default_colors = <0 0 0>; - r_io_number = <2>; - g_io_number = <12>; - b_io_number = <7>; - }; - - led3 { - default_colors = <0 0 0>; - r_io_number = <3>; - g_io_number = <13>; - b_io_number = <8>; - }; - }; aw9523: aw9523_led@5b { compatible = "amlogic,aw9523b_led"; reg = <0x5b>; - status = "disabled"; + status = "okay"; //reset-gpio = <&gpio GPIOD_10 GPIO_ACTIVE_HIGH>; platform = <4>; led1 { - default_colors = <0 0 0>; - r_io_number = <0>; - g_io_number = <10>; - b_io_number = <5>; - }; - - led2 { - default_colors = <0 0 0>; - r_io_number = <1>; - g_io_number = <11>; - b_io_number = <6>; - }; - - led3 { default_colors = <0 0 0>; r_io_number = <2>; g_io_number = <12>; b_io_number = <7>; }; - led4 { + led2 { + default_colors = <0 0 0>; + r_io_number = <4>; + g_io_number = <10>; + b_io_number = <9>; + }; + + led3 { default_colors = <0 0 0>; r_io_number = <3>; - g_io_number = <13>; + g_io_number = <11>; b_io_number = <8>; }; + + led4 { + default_colors = <0 0 0>; + r_io_number = <0>; + g_io_number = <14>; + b_io_number = <5>; + }; led9 { default_colors = <0 0 0>; - r_io_number = <4>; - g_io_number = <14>; - b_io_number = <9>; + r_io_number = <1>; + g_io_number = <13>; + b_io_number = <6>; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm202.dts b/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm202.dts index 210a5595d..7834e7fe2 100644 --- a/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm202.dts +++ b/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm202.dts @@ -240,6 +240,16 @@ 0xffff 0x0>; /* ending flag */ }; + gpio_leds { + compatible = "gpio-leds"; + status = "okay"; + pwr_led { + label = "pwr_led"; + gpios = <&gpio GPIODV_6 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + }; + dvb-extern { compatible = "amlogic, dvb-extern"; dev_name = "dvb-extern"; @@ -827,88 +837,6 @@ clock-frequency = <300000>; }; -&i2c1 { - status = "disabled"; - pinctrl-names="default"; - pinctrl-0=<&i2c1_pins2>; - clock-frequency = <300000>; /* default 100k */ - - tlc59116: tlc59116@60 { - compatible = "amlogic,tlc59116_led"; - reg = <0x60>; - status = "disabled"; - - led0 { - default_colors = <0 0 0>; - r_io_number = <0>; - g_io_number = <10>; - b_io_number = <5>; - }; - - led1 { - default_colors = <0 0 0>; - r_io_number = <1>; - g_io_number = <11>; - b_io_number = <6>; - }; - - led2 { - default_colors = <0 0 0>; - r_io_number = <2>; - g_io_number = <12>; - b_io_number = <7>; - }; - - led3 { - default_colors = <0 0 0>; - r_io_number = <3>; - g_io_number = <13>; - b_io_number = <8>; - }; - }; - aw9523: aw9523_led@5b { - compatible = "amlogic,aw9523b_led"; - reg = <0x5b>; - status = "disabled"; - //reset-gpio = <&gpio GPIOD_10 GPIO_ACTIVE_HIGH>; - platform = <4>; - - led1 { - default_colors = <0 0 0>; - r_io_number = <0>; - g_io_number = <10>; - b_io_number = <5>; - }; - - led2 { - default_colors = <0 0 0>; - r_io_number = <1>; - g_io_number = <11>; - b_io_number = <6>; - }; - - led3 { - default_colors = <0 0 0>; - r_io_number = <2>; - g_io_number = <12>; - b_io_number = <7>; - }; - - led4 { - default_colors = <0 0 0>; - r_io_number = <3>; - g_io_number = <13>; - b_io_number = <8>; - }; - led9 { - default_colors = <0 0 0>; - r_io_number = <4>; - g_io_number = <14>; - b_io_number = <9>; - }; - }; -}; - &vddcpu0 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm209.dts b/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm209.dts index 60a7c1e9e..d62a8acec 100644 --- a/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm209.dts +++ b/arch/arm64/boot/dts/amlogic/s7d_s905x5m_bm209.dts @@ -240,6 +240,23 @@ 0xffff 0x0>; /* ending flag */ }; + gpio_leds { + compatible = "gpio-leds"; + status = "okay"; + pwr_led { + label = "pwr_led"; + gpios = <&gpio GPIODV_5 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + bt_led { + label = "bt_led"; + gpios = <&gpio GPIODV_6 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + + }; + dvb-extern { compatible = "amlogic, dvb-extern"; dev_name = "dvb-extern"; @@ -923,88 +940,6 @@ clock-frequency = <300000>; }; -&i2c1 { - status = "disabled"; - pinctrl-names="default"; - pinctrl-0=<&i2c1_pins2>; - clock-frequency = <300000>; /* default 100k */ - - tlc59116: tlc59116@60 { - compatible = "amlogic,tlc59116_led"; - reg = <0x60>; - status = "disabled"; - - led0 { - default_colors = <0 0 0>; - r_io_number = <0>; - g_io_number = <10>; - b_io_number = <5>; - }; - - led1 { - default_colors = <0 0 0>; - r_io_number = <1>; - g_io_number = <11>; - b_io_number = <6>; - }; - - led2 { - default_colors = <0 0 0>; - r_io_number = <2>; - g_io_number = <12>; - b_io_number = <7>; - }; - - led3 { - default_colors = <0 0 0>; - r_io_number = <3>; - g_io_number = <13>; - b_io_number = <8>; - }; - }; - aw9523: aw9523_led@5b { - compatible = "amlogic,aw9523b_led"; - reg = <0x5b>; - status = "disabled"; - //reset-gpio = <&gpio GPIOD_10 GPIO_ACTIVE_HIGH>; - platform = <4>; - - led1 { - default_colors = <0 0 0>; - r_io_number = <0>; - g_io_number = <10>; - b_io_number = <5>; - }; - - led2 { - default_colors = <0 0 0>; - r_io_number = <1>; - g_io_number = <11>; - b_io_number = <6>; - }; - - led3 { - default_colors = <0 0 0>; - r_io_number = <2>; - g_io_number = <12>; - b_io_number = <7>; - }; - - led4 { - default_colors = <0 0 0>; - r_io_number = <3>; - g_io_number = <13>; - b_io_number = <8>; - }; - led9 { - default_colors = <0 0 0>; - r_io_number = <4>; - g_io_number = <14>; - b_io_number = <9>; - }; - }; -}; - &vddcpu0 { status = "okay"; };