diff --git a/Documentation/devicetree/bindings/is31fl3236a.txt b/Documentation/devicetree/bindings/is31fl3236a.txt new file mode 100644 index 000000000000..e85b41cd34d9 --- /dev/null +++ b/Documentation/devicetree/bindings/is31fl3236a.txt @@ -0,0 +1,53 @@ +is31fl3236a: is31f3236a@0x78 { + compatible = "issi,is31fl3236,gva"; + reg = <0x3c>; + status = "okay"; + led1_b { + label="LED1_B"; + reg_offset = <1>; + }; + led1_g { + label="LED1_G"; + reg_offset = <2>; + }; + led1_r { + label="LED1_R"; + reg_offset = <3>; + }; + led2_b { + label="LED2_B"; + reg_offset = <4>; + }; + led2_g { + label="LED2_G"; + reg_offset = <5>; + }; + led2_r { + label="LED2_R"; + reg_offset = <6>; + }; + led3_b { + label="LED3_B"; + reg_offset = <7>; + }; + led3_g { + label="LED3_G"; + reg_offset = <8>; + }; + led3_r { + label="LED3_R"; + reg_offset = <9>; + }; + led4_b { + label="LED4_B"; + reg_offset = <10>; + }; + led4_g { + label="LED4_G"; + reg_offset = <11>; + }; + led4_r { + label="LED4_R"; + reg_offset = <12>; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index c7ede1a7e03c..e3b8fc363d18 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14616,9 +14616,10 @@ F: arch/arm64/boot/dts/amlogic/firmware_system.dtsi AMLOGIC SYSTEM AS ROOT M: Renjun Xu -F: arch/arm64/boot/dts/amlogic/axg_s400_v03gva.dts -F: arch/arm64/boot/dts/amlogic/axg_s420_v03gva.dts +F: arch/arm64/boot/dts/amlogic/axg_s400_v03gva.dts +F: arch/arm64/boot/dts/amlogic/axg_s420_v03gva.dts F: Documentation/devicetree/bindings/input/cy8c4014_i2c.txt F: drivers/amlogic/input/sensor/cy8c4014.c F: Documentation/devicetree/bindings/amlogic/input/pca9557_keypad.txt -F: drivers/amlogic/input/keyboard/pca9557_keypad.c +F: drivers/amlogic/input/keyboard/pca9557_keypad.c +F: Documentation/devicetree/bindings/is31fl3236a.txt diff --git a/arch/arm64/boot/dts/amlogic/axg_s400_v03gva.dts b/arch/arm64/boot/dts/amlogic/axg_s400_v03gva.dts index e2f0edbb3bdb..d65078ceba81 100644 --- a/arch/arm64/boot/dts/amlogic/axg_s400_v03gva.dts +++ b/arch/arm64/boot/dts/amlogic/axg_s400_v03gva.dts @@ -993,104 +993,56 @@ status = "okay"; }; is31fl3236a: is31f3236a@0x78 { - compatible = "issi,is31fl3236"; + compatible = "issi,is31fl3236,gva"; reg = <0x3c>; - status = "disable"; - led1_r { - label="LED1_R"; - reg_offset = <24>; + status = "okay"; + led1_b { + label="LED1_B"; + reg_offset = <1>; }; led1_g { - label="LED1_G"; - reg_offset = <23>; + label="LED1_G"; + reg_offset = <2>; }; - led1_b { - label="LED1_B"; - reg_offset = <22>; - }; - led2_r { - label="LED2_R"; - reg_offset = <21>; - }; - led2_g { - label="LED2_G"; - reg_offset = <20>; + led1_r { + label="LED1_R"; + reg_offset = <3>; }; led2_b { - label="LED2_B"; - reg_offset = <19>; + label="LED2_B"; + reg_offset = <4>; }; - led3_r { - label="LED3_R"; - reg_offset = <18>; + led2_g { + label="LED2_G"; + reg_offset = <5>; }; - led3_g { - label="LED3_G"; - reg_offset = <17>; + led2_r { + label="LED2_R"; + reg_offset = <6>; }; led3_b { - label="LED3_B"; - reg_offset = <16>; + label="LED3_B"; + reg_offset = <7>; }; - led4_r { - label="LED4_R"; - reg_offset = <15>; + led3_g { + label="LED3_G"; + reg_offset = <8>; }; - led4_g { - label="LED4_G"; - reg_offset = <14>; + led3_r { + label="LED3_R"; + reg_offset = <9>; }; led4_b { - label="LED4_B"; - reg_offset = <13>; + label="LED4_B"; + reg_offset = <10>; }; - led5_r { - label="LED5_R"; - reg_offset = <36>; + led4_g { + label="LED4_G"; + reg_offset = <11>; }; - led5_g { - label="LED5_G"; - reg_offset = <35>; - }; - led5_b { - label="LED5_B"; - reg_offset = <34>; - }; - led6_r { - label="LED6_R"; - reg_offset = <33>; - }; - led6_g { - label="LED6_G"; - reg_offset = <32>; - }; - led6_b { - label="LED6_B"; - reg_offset = <31>; - }; - led7_r { - label="LED7_R"; - reg_offset = <30>; - }; - led7_g { - label="LED7_G"; - reg_offset = <29>; - }; - led7_b { - label="LED7_B"; - reg_offset = <28>; - }; - led8_r { - label="LED8_R"; - reg_offset = <27>; - }; - led8_g { - label="LED8_G"; - reg_offset = <26>; - }; - led8_b { - label="LED8_B"; - reg_offset = <25>; + led4_r { + label="LED4_R"; + reg_offset = <12>; }; }; }; diff --git a/arch/arm64/boot/dts/amlogic/axg_s420_v03gva.dts b/arch/arm64/boot/dts/amlogic/axg_s420_v03gva.dts index a833463ab429..90e16bf91051 100644 --- a/arch/arm64/boot/dts/amlogic/axg_s420_v03gva.dts +++ b/arch/arm64/boot/dts/amlogic/axg_s420_v03gva.dts @@ -814,104 +814,56 @@ status = "okay"; }; is31fl3236a: is31f3236a@0x78 { - compatible = "issi,is31fl3236"; + compatible = "issi,is31fl3236,gva"; reg = <0x3c>; - status = "disable"; - led1_r { - label="LED1_R"; - reg_offset = <24>; + status = "okay"; + led1_b { + label="LED1_B"; + reg_offset = <1>; }; led1_g { - label="LED1_G"; - reg_offset = <23>; + label="LED1_G"; + reg_offset = <2>; }; - led1_b { - label="LED1_B"; - reg_offset = <22>; - }; - led2_r { - label="LED2_R"; - reg_offset = <21>; - }; - led2_g { - label="LED2_G"; - reg_offset = <20>; + led1_r { + label="LED1_R"; + reg_offset = <3>; }; led2_b { - label="LED2_B"; - reg_offset = <19>; + label="LED2_B"; + reg_offset = <4>; }; - led3_r { - label="LED3_R"; - reg_offset = <18>; + led2_g { + label="LED2_G"; + reg_offset = <5>; }; - led3_g { - label="LED3_G"; - reg_offset = <17>; + led2_r { + label="LED2_R"; + reg_offset = <6>; }; led3_b { - label="LED3_B"; - reg_offset = <16>; + label="LED3_B"; + reg_offset = <7>; }; - led4_r { - label="LED4_R"; - reg_offset = <15>; + led3_g { + label="LED3_G"; + reg_offset = <8>; }; - led4_g { - label="LED4_G"; - reg_offset = <14>; + led3_r { + label="LED3_R"; + reg_offset = <9>; }; led4_b { - label="LED4_B"; - reg_offset = <13>; + label="LED4_B"; + reg_offset = <10>; }; - led5_r { - label="LED5_R"; - reg_offset = <36>; + led4_g { + label="LED4_G"; + reg_offset = <11>; }; - led5_g { - label="LED5_G"; - reg_offset = <35>; - }; - led5_b { - label="LED5_B"; - reg_offset = <34>; - }; - led6_r { - label="LED6_R"; - reg_offset = <33>; - }; - led6_g { - label="LED6_G"; - reg_offset = <32>; - }; - led6_b { - label="LED6_B"; - reg_offset = <31>; - }; - led7_r { - label="LED7_R"; - reg_offset = <30>; - }; - led7_g { - label="LED7_G"; - reg_offset = <29>; - }; - led7_b { - label="LED7_B"; - reg_offset = <28>; - }; - led8_r { - label="LED8_R"; - reg_offset = <27>; - }; - led8_g { - label="LED8_G"; - reg_offset = <26>; - }; - led8_b { - label="LED8_B"; - reg_offset = <25>; + led4_r { + label="LED4_R"; + reg_offset = <12>; }; }; }; diff --git a/arch/arm64/configs/meson64_smarthome_defconfig b/arch/arm64/configs/meson64_smarthome_defconfig index 6898bb4e3df9..e953b59a67ad 100644 --- a/arch/arm64/configs/meson64_smarthome_defconfig +++ b/arch/arm64/configs/meson64_smarthome_defconfig @@ -542,3 +542,4 @@ CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y CONFIG_X509_CERTIFICATE_PARSER=y CONFIG_CRC_T10DIF=y CONFIG_CRC7=y +CONFIG_LEDS_IS31FL32XX=y diff --git a/drivers/leds/leds-is31fl32xx.c b/drivers/leds/leds-is31fl32xx.c index 2dba831ff272..bd6894da14cc 100644 --- a/drivers/leds/leds-is31fl32xx.c +++ b/drivers/leds/leds-is31fl32xx.c @@ -431,7 +431,7 @@ err: } static const struct of_device_id of_is31fl32xx_match[] = { - { .compatible = "issi,is31fl3236", .data = &is31fl3236_cdef, }, + { .compatible = "issi,is31fl3236,gva", .data = &is31fl3236_cdef, }, { .compatible = "issi,is31fl3235", .data = &is31fl3235_cdef, }, { .compatible = "issi,is31fl3218", .data = &is31fl3218_cdef, }, { .compatible = "si-en,sn3218", .data = &is31fl3218_cdef, },