]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
dts: arm64: amlogic: add S6 pinctrl node
authorXianwei Zhao <xianwei.zhao@amlogic.com>
Tue, 27 May 2025 05:23:33 +0000 (13:23 +0800)
committerNeil Armstrong <neil.armstrong@linaro.org>
Fri, 4 Jul 2025 15:09:42 +0000 (17:09 +0200)
Add pinctrl device to support Amlogic S6.

Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
Link: https://lore.kernel.org/r/20250527-s6-s7-pinctrl-v3-6-44f6a0451519@amlogic.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi

index a8c90245c42a07f5fc929d9aa99eee4d8821c2cf..5f602f1170c001f6cb5dea7bd941f89f09bb1d4e 100644 (file)
@@ -6,6 +6,7 @@
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/amlogic,pinctrl.h>
 / {
        cpus {
                #address-cells = <2>;
                                clock-names = "xtal", "pclk", "baud";
                                status = "disabled";
                        };
+
+                       periphs_pinctrl: pinctrl@4000 {
+                               compatible = "amlogic,pinctrl-s6";
+                               #address-cells = <2>;
+                               #size-cells = <2>;
+                               ranges = <0x0 0x0 0x0 0x4000 0x0 0x340>;
+
+                               gpioz: gpio@c0 {
+                                       reg = <0 0xc0 0 0x20>, <0 0x18 0 0x8>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_Z<<8) 16>;
+                               };
+
+                               gpiox: gpio@100 {
+                                       reg = <0 0x100 0 0x30>, <0 0xc 0 0x8>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_X<<8) 20>;
+                               };
+
+                               gpioh: gpio@140 {
+                                       reg = <0 0x140 0 0x20>, <0 0x2c 0 0x8>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_H<<8) 9>;
+                               };
+
+                               gpiod: gpio@180 {
+                                       reg = <0 0x180 0 0x20>, <0 0x8 0 0x4>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_D<<8) 7>;
+                               };
+
+                               gpiof: gpio@1a0 {
+                                       reg = <0 0x1a0 0 0x20>, <0 0x20 0 0x4>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_F<<8) 5>;
+                               };
+
+                               gpioe: gpio@1c0 {
+                                       reg = <0 0x1c0 0 0x20>, <0 0x48 0 0x4>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_E<<8) 3>;
+                               };
+
+                               gpioc: gpio@200 {
+                                       reg = <0 0x200 0 0x20>, <0 0x24 0 0x4>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_C<<8) 8>;
+                               };
+
+                               gpiob: gpio@240 {
+                                       reg = <0 0x240 0 0x20>, <0 0x0 0 0x8>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_B<<8) 14>;
+                               };
+
+                               gpioa: gpio@280 {
+                                       reg = <0 0x280 0 0x20>, <0 0x40 0 0x8>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_A<<8) 16>;
+                               };
+
+                               test_n: gpio@2c0 {
+                                       reg = <0 0x2c0 0 0x20>;
+                                       reg-names = "gpio";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges =
+                                               <&periphs_pinctrl 0 (AMLOGIC_GPIO_TEST_N<<8) 1>;
+                               };
+
+                               gpiocc: gpio@300 {
+                                       reg = <0 0x300 0 0x20>, <0 0x14 0 0x4>;
+                                       reg-names = "gpio", "mux";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 (AMLOGIC_GPIO_CC<<8) 2>;
+                               };
+                       };
                };
        };
 };