Commit 9c8e612d authored by Christian Ruppert's avatar Christian Ruppert Committed by Vineet Gupta

ARC: [TB10x] Updates for GPIO and pinctrl

Device tree and Kconfig updates for GPIO and pinctrl drivers.
Signed-off-by: default avatarChristian Ruppert <christian.ruppert@abilis.com>
Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 5e01dc7b
...@@ -43,124 +43,124 @@ ahb_clk: clkdiv_ahb { ...@@ -43,124 +43,124 @@ ahb_clk: clkdiv_ahb {
iomux: iomux@FF10601c { iomux: iomux@FF10601c {
/* Port 1 */ /* Port 1 */
pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */ pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */
pingrp = "mis0_pins"; abilis,function = "mis0";
}; };
pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */ pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */
pingrp = "mis1_pins"; abilis,function = "mis1";
}; };
pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */ pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */
pingrp = "gpioa_pins"; abilis,function = "gpioa";
}; };
pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */ pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */
pingrp = "mip1_pins"; abilis,function = "mip1";
}; };
/* Port 2 */ /* Port 2 */
pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */ pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */
pingrp = "mis2_pins"; abilis,function = "mis2";
}; };
pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */ pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */
pingrp = "mis3_pins"; abilis,function = "mis3";
}; };
pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */ pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */
pingrp = "gpioc_pins"; abilis,function = "gpioc";
}; };
pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */ pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */
pingrp = "mip3_pins"; abilis,function = "mip3";
}; };
/* Port 3 */ /* Port 3 */
pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */ pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */
pingrp = "mis4_pins"; abilis,function = "mis4";
}; };
pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */ pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */
pingrp = "mis5_pins"; abilis,function = "mis5";
}; };
pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */ pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */
pingrp = "gpioe_pins"; abilis,function = "gpioe";
}; };
pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */ pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */
pingrp = "mip5_pins"; abilis,function = "mip5";
}; };
/* Port 4 */ /* Port 4 */
pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */ pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */
pingrp = "mis6_pins"; abilis,function = "mis6";
}; };
pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */ pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */
pingrp = "mis7_pins"; abilis,function = "mis7";
}; };
pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */ pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */
pingrp = "gpiog_pins"; abilis,function = "gpiog";
}; };
pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */ pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */
pingrp = "mip7_pins"; abilis,function = "mip7";
}; };
/* Port 5 */ /* Port 5 */
pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */ pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */
pingrp = "gpioj_pins"; abilis,function = "gpioj";
}; };
pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */ pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */
pingrp = "gpiok_pins"; abilis,function = "gpiok";
}; };
pctl_ciplus: pctl-ciplus { /* CI+ interface */ pctl_ciplus: pctl-ciplus { /* CI+ interface */
pingrp = "ciplus_pins"; abilis,function = "ciplus";
}; };
pctl_mcard: pctl-mcard { /* M-Card interface */ pctl_mcard: pctl-mcard { /* M-Card interface */
pingrp = "mcard_pins"; abilis,function = "mcard";
}; };
/* Port 6 */ /* Port 6 */
pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */ pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */
pingrp = "mop_pins"; abilis,function = "mop";
}; };
pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */ pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
pingrp = "mos0_pins"; abilis,function = "mos0";
}; };
pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */ pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
pingrp = "mos1_pins"; abilis,function = "mos1";
}; };
pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */ pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
pingrp = "mos2_pins"; abilis,function = "mos2";
}; };
pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */ pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
pingrp = "mos3_pins"; abilis,function = "mos3";
}; };
/* Port 7 */ /* Port 7 */
pctl_uart0: pctl-uart0 { /* UART 0 */ pctl_uart0: pctl-uart0 { /* UART 0 */
pingrp = "uart0_pins"; abilis,function = "uart0";
}; };
pctl_uart1: pctl-uart1 { /* UART 1 */ pctl_uart1: pctl-uart1 { /* UART 1 */
pingrp = "uart1_pins"; abilis,function = "uart1";
}; };
pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */ pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */
pingrp = "gpiol_pins"; abilis,function = "gpiol";
}; };
pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */ pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */
pingrp = "gpiom_pins"; abilis,function = "gpiom";
}; };
/* Port 8 */ /* Port 8 */
pctl_spi3: pctl-spi3 { pctl_spi3: pctl-spi3 {
pingrp = "spi3_pins"; abilis,function = "spi3";
}; };
/* Port 9 */ /* Port 9 */
pctl_spi1: pctl-spi1 { pctl_spi1: pctl-spi1 {
pingrp = "spi1_pins"; abilis,function = "spi1";
}; };
pctl_gpio_n: pctl-gpio-n { pctl_gpio_n: pctl-gpio-n {
pingrp = "gpion_pins"; abilis,function = "gpion";
}; };
/* Unmuxed GPIOs */ /* Unmuxed GPIOs */
pctl_gpio_b: pctl-gpio-b { pctl_gpio_b: pctl-gpio-b {
pingrp = "gpiob_pins"; abilis,function = "gpiob";
}; };
pctl_gpio_d: pctl-gpio-d { pctl_gpio_d: pctl-gpio-d {
pingrp = "gpiod_pins"; abilis,function = "gpiod";
}; };
pctl_gpio_f: pctl-gpio-f { pctl_gpio_f: pctl-gpio-f {
pingrp = "gpiof_pins"; abilis,function = "gpiof";
}; };
pctl_gpio_h: pctl-gpio-h { pctl_gpio_h: pctl-gpio-h {
pingrp = "gpioh_pins"; abilis,function = "gpioh";
}; };
pctl_gpio_i: pctl-gpio-i { pctl_gpio_i: pctl-gpio-i {
pingrp = "gpioi_pins"; abilis,function = "gpioi";
}; };
}; };
...@@ -172,9 +172,10 @@ gpioa: gpio@FF140000 { ...@@ -172,9 +172,10 @@ gpioa: gpio@FF140000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF140000 0x1000>; reg = <0xFF140000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <0>; abilis,ngpio = <3>;
gpio-pins = <&pctl_gpio_a>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioa";
}; };
gpiob: gpio@FF141000 { gpiob: gpio@FF141000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -184,9 +185,10 @@ gpiob: gpio@FF141000 { ...@@ -184,9 +185,10 @@ gpiob: gpio@FF141000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF141000 0x1000>; reg = <0xFF141000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <3>; abilis,ngpio = <2>;
gpio-pins = <&pctl_gpio_b>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiob";
}; };
gpioc: gpio@FF142000 { gpioc: gpio@FF142000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -196,9 +198,10 @@ gpioc: gpio@FF142000 { ...@@ -196,9 +198,10 @@ gpioc: gpio@FF142000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF142000 0x1000>; reg = <0xFF142000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <5>; abilis,ngpio = <3>;
gpio-pins = <&pctl_gpio_c>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioc";
}; };
gpiod: gpio@FF143000 { gpiod: gpio@FF143000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -208,9 +211,10 @@ gpiod: gpio@FF143000 { ...@@ -208,9 +211,10 @@ gpiod: gpio@FF143000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF143000 0x1000>; reg = <0xFF143000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <8>; abilis,ngpio = <2>;
gpio-pins = <&pctl_gpio_d>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiod";
}; };
gpioe: gpio@FF144000 { gpioe: gpio@FF144000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -220,9 +224,10 @@ gpioe: gpio@FF144000 { ...@@ -220,9 +224,10 @@ gpioe: gpio@FF144000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF144000 0x1000>; reg = <0xFF144000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <10>; abilis,ngpio = <3>;
gpio-pins = <&pctl_gpio_e>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioe";
}; };
gpiof: gpio@FF145000 { gpiof: gpio@FF145000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -232,9 +237,10 @@ gpiof: gpio@FF145000 { ...@@ -232,9 +237,10 @@ gpiof: gpio@FF145000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF145000 0x1000>; reg = <0xFF145000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <13>; abilis,ngpio = <2>;
gpio-pins = <&pctl_gpio_f>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiof";
}; };
gpiog: gpio@FF146000 { gpiog: gpio@FF146000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -244,9 +250,10 @@ gpiog: gpio@FF146000 { ...@@ -244,9 +250,10 @@ gpiog: gpio@FF146000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF146000 0x1000>; reg = <0xFF146000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <15>; abilis,ngpio = <3>;
gpio-pins = <&pctl_gpio_g>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiog";
}; };
gpioh: gpio@FF147000 { gpioh: gpio@FF147000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -256,9 +263,10 @@ gpioh: gpio@FF147000 { ...@@ -256,9 +263,10 @@ gpioh: gpio@FF147000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF147000 0x1000>; reg = <0xFF147000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <18>; abilis,ngpio = <2>;
gpio-pins = <&pctl_gpio_h>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioh";
}; };
gpioi: gpio@FF148000 { gpioi: gpio@FF148000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -268,9 +276,10 @@ gpioi: gpio@FF148000 { ...@@ -268,9 +276,10 @@ gpioi: gpio@FF148000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF148000 0x1000>; reg = <0xFF148000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <20>; abilis,ngpio = <12>;
gpio-pins = <&pctl_gpio_i>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioi";
}; };
gpioj: gpio@FF149000 { gpioj: gpio@FF149000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -280,9 +289,10 @@ gpioj: gpio@FF149000 { ...@@ -280,9 +289,10 @@ gpioj: gpio@FF149000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF149000 0x1000>; reg = <0xFF149000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <32>; abilis,ngpio = <32>;
gpio-pins = <&pctl_gpio_j>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioj";
}; };
gpiok: gpio@FF14a000 { gpiok: gpio@FF14a000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -292,9 +302,10 @@ gpiok: gpio@FF14a000 { ...@@ -292,9 +302,10 @@ gpiok: gpio@FF14a000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF14A000 0x1000>; reg = <0xFF14A000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <64>; abilis,ngpio = <22>;
gpio-pins = <&pctl_gpio_k>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiok";
}; };
gpiol: gpio@FF14b000 { gpiol: gpio@FF14b000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -304,9 +315,10 @@ gpiol: gpio@FF14b000 { ...@@ -304,9 +315,10 @@ gpiol: gpio@FF14b000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF14B000 0x1000>; reg = <0xFF14B000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <86>; abilis,ngpio = <4>;
gpio-pins = <&pctl_gpio_l>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiol";
}; };
gpiom: gpio@FF14c000 { gpiom: gpio@FF14c000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -316,9 +328,10 @@ gpiom: gpio@FF14c000 { ...@@ -316,9 +328,10 @@ gpiom: gpio@FF14c000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF14C000 0x1000>; reg = <0xFF14C000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <90>; abilis,ngpio = <4>;
gpio-pins = <&pctl_gpio_m>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiom";
}; };
gpion: gpio@FF14d000 { gpion: gpio@FF14d000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -328,9 +341,10 @@ gpion: gpio@FF14d000 { ...@@ -328,9 +341,10 @@ gpion: gpio@FF14d000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF14D000 0x1000>; reg = <0xFF14D000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <94>; abilis,ngpio = <5>;
gpio-pins = <&pctl_gpio_n>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpion";
}; };
}; };
}; };
...@@ -64,62 +64,62 @@ leds { ...@@ -64,62 +64,62 @@ leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
power { power {
label = "Power"; label = "Power";
gpios = <&gpioi 0>; gpios = <&gpioi 0 0>;
linux,default-trigger = "default-on"; linux,default-trigger = "default-on";
}; };
heartbeat { heartbeat {
label = "Heartbeat"; label = "Heartbeat";
gpios = <&gpioi 1>; gpios = <&gpioi 1 0>;
linux,default-trigger = "heartbeat"; linux,default-trigger = "heartbeat";
}; };
led2 { led2 {
label = "LED2"; label = "LED2";
gpios = <&gpioi 2>; gpios = <&gpioi 2 0>;
default-state = "off"; default-state = "off";
}; };
led3 { led3 {
label = "LED3"; label = "LED3";
gpios = <&gpioi 3>; gpios = <&gpioi 3 0>;
default-state = "off"; default-state = "off";
}; };
led4 { led4 {
label = "LED4"; label = "LED4";
gpios = <&gpioi 4>; gpios = <&gpioi 4 0>;
default-state = "off"; default-state = "off";
}; };
led5 { led5 {
label = "LED5"; label = "LED5";
gpios = <&gpioi 5>; gpios = <&gpioi 5 0>;
default-state = "off"; default-state = "off";
}; };
led6 { led6 {
label = "LED6"; label = "LED6";
gpios = <&gpioi 6>; gpios = <&gpioi 6 0>;
default-state = "off"; default-state = "off";
}; };
led7 { led7 {
label = "LED7"; label = "LED7";
gpios = <&gpioi 7>; gpios = <&gpioi 7 0>;
default-state = "off"; default-state = "off";
}; };
led8 { led8 {
label = "LED8"; label = "LED8";
gpios = <&gpioi 8>; gpios = <&gpioi 8 0>;
default-state = "off"; default-state = "off";
}; };
led9 { led9 {
label = "LED9"; label = "LED9";
gpios = <&gpioi 9>; gpios = <&gpioi 9 0>;
default-state = "off"; default-state = "off";
}; };
led10 { led10 {
label = "LED10"; label = "LED10";
gpios = <&gpioi 10>; gpios = <&gpioi 10 0>;
default-state = "off"; default-state = "off";
}; };
led11 { led11 {
label = "LED11"; label = "LED11";
gpios = <&gpioi 11>; gpios = <&gpioi 11 0>;
default-state = "off"; default-state = "off";
}; };
}; };
......
...@@ -43,133 +43,133 @@ ahb_clk: clkdiv_ahb { ...@@ -43,133 +43,133 @@ ahb_clk: clkdiv_ahb {
iomux: iomux@FF10601c { iomux: iomux@FF10601c {
/* Port 1 */ /* Port 1 */
pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */ pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */
pingrp = "mis0_pins"; abilis,function = "mis0";
}; };
pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */ pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */
pingrp = "mis1_pins"; abilis,function = "mis1";
}; };
pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */ pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */
pingrp = "gpioa_pins"; abilis,function = "gpioa";
}; };
pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */ pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */
pingrp = "mip1_pins"; abilis,function = "mip1";
}; };
/* Port 2 */ /* Port 2 */
pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */ pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */
pingrp = "mis2_pins"; abilis,function = "mis2";
}; };
pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */ pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */
pingrp = "mis3_pins"; abilis,function = "mis3";
}; };
pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */ pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */
pingrp = "gpioc_pins"; abilis,function = "gpioc";
}; };
pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */ pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */
pingrp = "mip3_pins"; abilis,function = "mip3";
}; };
/* Port 3 */ /* Port 3 */
pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */ pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */
pingrp = "mis4_pins"; abilis,function = "mis4";
}; };
pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */ pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */
pingrp = "mis5_pins"; abilis,function = "mis5";
}; };
pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */ pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */
pingrp = "gpioe_pins"; abilis,function = "gpioe";
}; };
pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */ pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */
pingrp = "mip5_pins"; abilis,function = "mip5";
}; };
/* Port 4 */ /* Port 4 */
pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */ pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */
pingrp = "mis6_pins"; abilis,function = "mis6";
}; };
pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */ pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */
pingrp = "mis7_pins"; abilis,function = "mis7";
}; };
pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */ pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */
pingrp = "gpiog_pins"; abilis,function = "gpiog";
}; };
pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */ pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */
pingrp = "mip7_pins"; abilis,function = "mip7";
}; };
/* Port 5 */ /* Port 5 */
pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */ pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */
pingrp = "gpioj_pins"; abilis,function = "gpioj";
}; };
pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */ pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */
pingrp = "gpiok_pins"; abilis,function = "gpiok";
}; };
pctl_ciplus: pctl-ciplus { /* CI+ interface */ pctl_ciplus: pctl-ciplus { /* CI+ interface */
pingrp = "ciplus_pins"; abilis,function = "ciplus";
}; };
pctl_mcard: pctl-mcard { /* M-Card interface */ pctl_mcard: pctl-mcard { /* M-Card interface */
pingrp = "mcard_pins"; abilis,function = "mcard";
}; };
pctl_stc0: pctl-stc0 { /* Smart card I/F 0 */ pctl_stc0: pctl-stc0 { /* Smart card I/F 0 */
pingrp = "stc0_pins"; abilis,function = "stc0";
}; };
pctl_stc1: pctl-stc1 { /* Smart card I/F 1 */ pctl_stc1: pctl-stc1 { /* Smart card I/F 1 */
pingrp = "stc1_pins"; abilis,function = "stc1";
}; };
/* Port 6 */ /* Port 6 */
pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */ pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */
pingrp = "mop_pins"; abilis,function = "mop";
}; };
pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */ pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
pingrp = "mos0_pins"; abilis,function = "mos0";
}; };
pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */ pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
pingrp = "mos1_pins"; abilis,function = "mos1";
}; };
pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */ pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
pingrp = "mos2_pins"; abilis,function = "mos2";
}; };
pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */ pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
pingrp = "mos3_pins"; abilis,function = "mos3";
}; };
/* Port 7 */ /* Port 7 */
pctl_uart0: pctl-uart0 { /* UART 0 */ pctl_uart0: pctl-uart0 { /* UART 0 */
pingrp = "uart0_pins"; abilis,function = "uart0";
}; };
pctl_uart1: pctl-uart1 { /* UART 1 */ pctl_uart1: pctl-uart1 { /* UART 1 */
pingrp = "uart1_pins"; abilis,function = "uart1";
}; };
pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */ pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */
pingrp = "gpiol_pins"; abilis,function = "gpiol";
}; };
pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */ pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */
pingrp = "gpiom_pins"; abilis,function = "gpiom";
}; };
/* Port 8 */ /* Port 8 */
pctl_spi3: pctl-spi3 { pctl_spi3: pctl-spi3 {
pingrp = "spi3_pins"; abilis,function = "spi3";
}; };
pctl_jtag: pctl-jtag { pctl_jtag: pctl-jtag {
pingrp = "jtag_pins"; abilis,function = "jtag";
}; };
/* Port 9 */ /* Port 9 */
pctl_spi1: pctl-spi1 { pctl_spi1: pctl-spi1 {
pingrp = "spi1_pins"; abilis,function = "spi1";
}; };
pctl_gpio_n: pctl-gpio-n { pctl_gpio_n: pctl-gpio-n {
pingrp = "gpion_pins"; abilis,function = "gpion";
}; };
/* Unmuxed GPIOs */ /* Unmuxed GPIOs */
pctl_gpio_b: pctl-gpio-b { pctl_gpio_b: pctl-gpio-b {
pingrp = "gpiob_pins"; abilis,function = "gpiob";
}; };
pctl_gpio_d: pctl-gpio-d { pctl_gpio_d: pctl-gpio-d {
pingrp = "gpiod_pins"; abilis,function = "gpiod";
}; };
pctl_gpio_f: pctl-gpio-f { pctl_gpio_f: pctl-gpio-f {
pingrp = "gpiof_pins"; abilis,function = "gpiof";
}; };
pctl_gpio_h: pctl-gpio-h { pctl_gpio_h: pctl-gpio-h {
pingrp = "gpioh_pins"; abilis,function = "gpioh";
}; };
pctl_gpio_i: pctl-gpio-i { pctl_gpio_i: pctl-gpio-i {
pingrp = "gpioi_pins"; abilis,function = "gpioi";
}; };
}; };
...@@ -181,9 +181,10 @@ gpioa: gpio@FF140000 { ...@@ -181,9 +181,10 @@ gpioa: gpio@FF140000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF140000 0x1000>; reg = <0xFF140000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <0>; abilis,ngpio = <3>;
gpio-pins = <&pctl_gpio_a>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioa";
}; };
gpiob: gpio@FF141000 { gpiob: gpio@FF141000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -193,9 +194,10 @@ gpiob: gpio@FF141000 { ...@@ -193,9 +194,10 @@ gpiob: gpio@FF141000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF141000 0x1000>; reg = <0xFF141000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <3>; abilis,ngpio = <2>;
gpio-pins = <&pctl_gpio_b>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiob";
}; };
gpioc: gpio@FF142000 { gpioc: gpio@FF142000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -205,9 +207,10 @@ gpioc: gpio@FF142000 { ...@@ -205,9 +207,10 @@ gpioc: gpio@FF142000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF142000 0x1000>; reg = <0xFF142000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <5>; abilis,ngpio = <3>;
gpio-pins = <&pctl_gpio_c>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioc";
}; };
gpiod: gpio@FF143000 { gpiod: gpio@FF143000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -217,9 +220,10 @@ gpiod: gpio@FF143000 { ...@@ -217,9 +220,10 @@ gpiod: gpio@FF143000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF143000 0x1000>; reg = <0xFF143000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <8>; abilis,ngpio = <2>;
gpio-pins = <&pctl_gpio_d>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiod";
}; };
gpioe: gpio@FF144000 { gpioe: gpio@FF144000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -229,9 +233,10 @@ gpioe: gpio@FF144000 { ...@@ -229,9 +233,10 @@ gpioe: gpio@FF144000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF144000 0x1000>; reg = <0xFF144000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <10>; abilis,ngpio = <3>;
gpio-pins = <&pctl_gpio_e>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioe";
}; };
gpiof: gpio@FF145000 { gpiof: gpio@FF145000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -241,9 +246,10 @@ gpiof: gpio@FF145000 { ...@@ -241,9 +246,10 @@ gpiof: gpio@FF145000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF145000 0x1000>; reg = <0xFF145000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <13>; abilis,ngpio = <2>;
gpio-pins = <&pctl_gpio_f>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiof";
}; };
gpiog: gpio@FF146000 { gpiog: gpio@FF146000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -253,9 +259,10 @@ gpiog: gpio@FF146000 { ...@@ -253,9 +259,10 @@ gpiog: gpio@FF146000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF146000 0x1000>; reg = <0xFF146000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <15>; abilis,ngpio = <3>;
gpio-pins = <&pctl_gpio_g>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiog";
}; };
gpioh: gpio@FF147000 { gpioh: gpio@FF147000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -265,9 +272,10 @@ gpioh: gpio@FF147000 { ...@@ -265,9 +272,10 @@ gpioh: gpio@FF147000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF147000 0x1000>; reg = <0xFF147000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <18>; abilis,ngpio = <2>;
gpio-pins = <&pctl_gpio_h>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioh";
}; };
gpioi: gpio@FF148000 { gpioi: gpio@FF148000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -277,9 +285,10 @@ gpioi: gpio@FF148000 { ...@@ -277,9 +285,10 @@ gpioi: gpio@FF148000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF148000 0x1000>; reg = <0xFF148000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <20>; abilis,ngpio = <12>;
gpio-pins = <&pctl_gpio_i>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioi";
}; };
gpioj: gpio@FF149000 { gpioj: gpio@FF149000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -289,9 +298,10 @@ gpioj: gpio@FF149000 { ...@@ -289,9 +298,10 @@ gpioj: gpio@FF149000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF149000 0x1000>; reg = <0xFF149000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <32>; abilis,ngpio = <32>;
gpio-pins = <&pctl_gpio_j>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpioj";
}; };
gpiok: gpio@FF14a000 { gpiok: gpio@FF14a000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -301,9 +311,10 @@ gpiok: gpio@FF14a000 { ...@@ -301,9 +311,10 @@ gpiok: gpio@FF14a000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF14A000 0x1000>; reg = <0xFF14A000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <64>; abilis,ngpio = <22>;
gpio-pins = <&pctl_gpio_k>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiok";
}; };
gpiol: gpio@FF14b000 { gpiol: gpio@FF14b000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -313,9 +324,10 @@ gpiol: gpio@FF14b000 { ...@@ -313,9 +324,10 @@ gpiol: gpio@FF14b000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF14B000 0x1000>; reg = <0xFF14B000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <86>; abilis,ngpio = <4>;
gpio-pins = <&pctl_gpio_l>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiol";
}; };
gpiom: gpio@FF14c000 { gpiom: gpio@FF14c000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -325,9 +337,10 @@ gpiom: gpio@FF14c000 { ...@@ -325,9 +337,10 @@ gpiom: gpio@FF14c000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF14C000 0x1000>; reg = <0xFF14C000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <90>; abilis,ngpio = <4>;
gpio-pins = <&pctl_gpio_m>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpiom";
}; };
gpion: gpio@FF14d000 { gpion: gpio@FF14d000 {
compatible = "abilis,tb10x-gpio"; compatible = "abilis,tb10x-gpio";
...@@ -337,9 +350,10 @@ gpion: gpio@FF14d000 { ...@@ -337,9 +350,10 @@ gpion: gpio@FF14d000 {
interrupts = <27 2>; interrupts = <27 2>;
reg = <0xFF14D000 0x1000>; reg = <0xFF14D000 0x1000>;
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <2>;
gpio-base = <94>; abilis,ngpio = <5>;
gpio-pins = <&pctl_gpio_n>; gpio-ranges = <&iomux 0 0 0>;
gpio-ranges-group-names = "gpion";
}; };
}; };
}; };
...@@ -64,62 +64,62 @@ leds { ...@@ -64,62 +64,62 @@ leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
power { power {
label = "Power"; label = "Power";
gpios = <&gpioi 0>; gpios = <&gpioi 0 0>;
linux,default-trigger = "default-on"; linux,default-trigger = "default-on";
}; };
heartbeat { heartbeat {
label = "Heartbeat"; label = "Heartbeat";
gpios = <&gpioi 1>; gpios = <&gpioi 1 0>;
linux,default-trigger = "heartbeat"; linux,default-trigger = "heartbeat";
}; };
led2 { led2 {
label = "LED2"; label = "LED2";
gpios = <&gpioi 2>; gpios = <&gpioi 2 0>;
default-state = "off"; default-state = "off";
}; };
led3 { led3 {
label = "LED3"; label = "LED3";
gpios = <&gpioi 3>; gpios = <&gpioi 3 0>;
default-state = "off"; default-state = "off";
}; };
led4 { led4 {
label = "LED4"; label = "LED4";
gpios = <&gpioi 4>; gpios = <&gpioi 4 0>;
default-state = "off"; default-state = "off";
}; };
led5 { led5 {
label = "LED5"; label = "LED5";
gpios = <&gpioi 5>; gpios = <&gpioi 5 0>;
default-state = "off"; default-state = "off";
}; };
led6 { led6 {
label = "LED6"; label = "LED6";
gpios = <&gpioi 6>; gpios = <&gpioi 6 0>;
default-state = "off"; default-state = "off";
}; };
led7 { led7 {
label = "LED7"; label = "LED7";
gpios = <&gpioi 7>; gpios = <&gpioi 7 0>;
default-state = "off"; default-state = "off";
}; };
led8 { led8 {
label = "LED8"; label = "LED8";
gpios = <&gpioi 8>; gpios = <&gpioi 8 0>;
default-state = "off"; default-state = "off";
}; };
led9 { led9 {
label = "LED9"; label = "LED9";
gpios = <&gpioi 9>; gpios = <&gpioi 9 0>;
default-state = "off"; default-state = "off";
}; };
led10 { led10 {
label = "LED10"; label = "LED10";
gpios = <&gpioi 10>; gpios = <&gpioi 10 0>;
default-state = "off"; default-state = "off";
}; };
led11 { led11 {
label = "LED11"; label = "LED11";
gpios = <&gpioi 11>; gpios = <&gpioi 11 0>;
default-state = "off"; default-state = "off";
}; };
}; };
......
...@@ -62,9 +62,8 @@ ahb_clk: clkdiv_ahb { ...@@ -62,9 +62,8 @@ ahb_clk: clkdiv_ahb {
}; };
iomux: iomux@FF10601c { iomux: iomux@FF10601c {
#address-cells = <1>;
#size-cells = <1>;
compatible = "abilis,tb10x-iomux"; compatible = "abilis,tb10x-iomux";
#gpio-range-cells = <3>;
reg = <0xFF10601c 0x4>; reg = <0xFF10601c 0x4>;
}; };
......
...@@ -20,8 +20,10 @@ menuconfig ARC_PLAT_TB10X ...@@ -20,8 +20,10 @@ menuconfig ARC_PLAT_TB10X
bool "Abilis TB10x" bool "Abilis TB10x"
select COMMON_CLK select COMMON_CLK
select PINCTRL select PINCTRL
select PINCTRL_TB10X
select PINMUX select PINMUX
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select GPIO_TB10X
select TB10X_IRQC select TB10X_IRQC
help help
Support for platforms based on the TB10x home media gateway SOC by Support for platforms based on the TB10x home media gateway SOC by
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment