| /* |
| * Copyright (C) 2014 STMicroelectronics Limited. |
| * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com> |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * publishhed by the Free Software Foundation. |
| */ |
| #include "st-pincfg.h" |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| / { |
| |
| aliases { |
| /* 0-5: PIO_SBC */ |
| gpio0 = &pio0; |
| gpio1 = &pio1; |
| gpio2 = &pio2; |
| gpio3 = &pio3; |
| gpio4 = &pio4; |
| gpio5 = &pio5; |
| /* 10-19: PIO_FRONT0 */ |
| gpio6 = &pio10; |
| gpio7 = &pio11; |
| gpio8 = &pio12; |
| gpio9 = &pio13; |
| gpio10 = &pio14; |
| gpio11 = &pio15; |
| gpio12 = &pio16; |
| gpio13 = &pio17; |
| gpio14 = &pio18; |
| gpio15 = &pio19; |
| /* 20: PIO_FRONT1 */ |
| gpio16 = &pio20; |
| /* 30-35: PIO_REAR */ |
| gpio17 = &pio30; |
| gpio18 = &pio31; |
| gpio19 = &pio32; |
| gpio20 = &pio33; |
| gpio21 = &pio34; |
| gpio22 = &pio35; |
| /* 40-42: PIO_FLASH */ |
| gpio23 = &pio40; |
| gpio24 = &pio41; |
| gpio25 = &pio42; |
| }; |
| |
| soc { |
| pin-controller-sbc { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "st,stih407-sbc-pinctrl"; |
| st,syscfg = <&syscfg_sbc>; |
| reg = <0x0961f080 0x4>; |
| reg-names = "irqmux"; |
| interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>; |
| interrupts-names = "irqmux"; |
| ranges = <0 0x09610000 0x6000>; |
| |
| pio0: gpio@09610000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x0 0x100>; |
| st,bank-name = "PIO0"; |
| }; |
| pio1: gpio@09611000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x1000 0x100>; |
| st,bank-name = "PIO1"; |
| }; |
| pio2: gpio@09612000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x2000 0x100>; |
| st,bank-name = "PIO2"; |
| }; |
| pio3: gpio@09613000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x3000 0x100>; |
| st,bank-name = "PIO3"; |
| }; |
| pio4: gpio@09614000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x4000 0x100>; |
| st,bank-name = "PIO4"; |
| }; |
| |
| pio5: gpio@09615000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x5000 0x100>; |
| st,bank-name = "PIO5"; |
| st,retime-pin-mask = <0x3f>; |
| }; |
| |
| rc { |
| pinctrl_ir: ir0 { |
| st,pins { |
| ir = <&pio4 0 ALT2 IN>; |
| }; |
| }; |
| }; |
| |
| /* SBC_ASC0 - UART10 */ |
| sbc_serial0 { |
| pinctrl_sbc_serial0: sbc_serial0-0 { |
| st,pins { |
| tx = <&pio3 4 ALT1 OUT>; |
| rx = <&pio3 5 ALT1 IN>; |
| }; |
| }; |
| }; |
| /* SBC_ASC1 - UART11 */ |
| sbc_serial1 { |
| pinctrl_sbc_serial1: sbc_serial1-0 { |
| st,pins { |
| tx = <&pio2 6 ALT3 OUT>; |
| rx = <&pio2 7 ALT3 IN>; |
| }; |
| }; |
| }; |
| |
| i2c10 { |
| pinctrl_i2c10_default: i2c10-default { |
| st,pins { |
| sda = <&pio4 6 ALT1 BIDIR>; |
| scl = <&pio4 5 ALT1 BIDIR>; |
| }; |
| }; |
| }; |
| |
| i2c11 { |
| pinctrl_i2c11_default: i2c11-default { |
| st,pins { |
| sda = <&pio5 1 ALT1 BIDIR>; |
| scl = <&pio5 0 ALT1 BIDIR>; |
| }; |
| }; |
| }; |
| |
| keyscan { |
| pinctrl_keyscan: keyscan { |
| st,pins { |
| keyin0 = <&pio4 0 ALT6 IN>; |
| keyin1 = <&pio4 5 ALT4 IN>; |
| keyin2 = <&pio0 4 ALT2 IN>; |
| keyin3 = <&pio2 6 ALT2 IN>; |
| |
| keyout0 = <&pio4 6 ALT4 OUT>; |
| keyout1 = <&pio1 7 ALT2 OUT>; |
| keyout2 = <&pio0 6 ALT2 OUT>; |
| keyout3 = <&pio2 7 ALT2 OUT>; |
| }; |
| }; |
| }; |
| |
| gmac1 { |
| /* |
| * Almost all the boards based on STiH407 SoC have an embedded |
| * switch where the mdio/mdc have been used for managing the SMI |
| * iface via I2C. For this reason these lines can be allocated |
| * by using dedicated configuration (in case of there will be a |
| * standard PHY transceiver on-board). |
| */ |
| pinctrl_rgmii1: rgmii1-0 { |
| st,pins { |
| |
| txd0 = <&pio0 0 ALT1 OUT DE_IO 0 CLK_A>; |
| txd1 = <&pio0 1 ALT1 OUT DE_IO 0 CLK_A>; |
| txd2 = <&pio0 2 ALT1 OUT DE_IO 0 CLK_A>; |
| txd3 = <&pio0 3 ALT1 OUT DE_IO 0 CLK_A>; |
| txen = <&pio0 5 ALT1 OUT DE_IO 0 CLK_A>; |
| txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>; |
| rxd0 = <&pio1 4 ALT1 IN DE_IO 0 CLK_A>; |
| rxd1 = <&pio1 5 ALT1 IN DE_IO 0 CLK_A>; |
| rxd2 = <&pio1 6 ALT1 IN DE_IO 0 CLK_A>; |
| rxd3 = <&pio1 7 ALT1 IN DE_IO 0 CLK_A>; |
| rxdv = <&pio2 0 ALT1 IN DE_IO 0 CLK_A>; |
| rxclk = <&pio2 2 ALT1 IN NICLK 500 CLK_A>; |
| clk125 = <&pio3 7 ALT4 IN NICLK 0 CLK_A>; |
| phyclk = <&pio2 3 ALT4 OUT NICLK 1750 CLK_B>; |
| }; |
| }; |
| |
| pinctrl_rgmii1_mdio: rgmii1-mdio { |
| st,pins { |
| mdio = <&pio1 0 ALT1 OUT BYPASS 0>; |
| mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>; |
| mdint = <&pio1 3 ALT1 IN BYPASS 0>; |
| }; |
| }; |
| |
| pinctrl_mii1: mii1 { |
| st,pins { |
| txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
| txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
| txd2 = <&pio0 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
| txd3 = <&pio0 3 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
| txer = <&pio0 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
| txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
| txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>; |
| col = <&pio0 7 ALT1 IN BYPASS 1000>; |
| |
| mdio = <&pio1 0 ALT1 OUT BYPASS 1500>; |
| mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>; |
| crs = <&pio1 2 ALT1 IN BYPASS 1000>; |
| mdint = <&pio1 3 ALT1 IN BYPASS 0>; |
| rxd0 = <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
| rxd1 = <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
| rxd2 = <&pio1 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
| rxd3 = <&pio1 7 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
| |
| rxdv = <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
| rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
| rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>; |
| phyclk = <&pio2 3 ALT1 OUT NICLK 0 CLK_A>; |
| }; |
| }; |
| }; |
| |
| pwm1 { |
| pinctrl_pwm1_chan0_default: pwm1-0-default { |
| st,pins { |
| pwm-out = <&pio3 0 ALT1 OUT>; |
| }; |
| }; |
| pinctrl_pwm1_chan1_default: pwm1-1-default { |
| st,pins { |
| pwm-out = <&pio4 4 ALT1 OUT>; |
| }; |
| }; |
| pinctrl_pwm1_chan2_default: pwm1-2-default { |
| st,pins { |
| pwm-out = <&pio4 6 ALT3 OUT>; |
| }; |
| }; |
| pinctrl_pwm1_chan3_default: pwm1-3-default { |
| st,pins { |
| pwm-out = <&pio4 7 ALT3 OUT>; |
| }; |
| }; |
| }; |
| }; |
| |
| pin-controller-front0 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "st,stih407-front-pinctrl"; |
| st,syscfg = <&syscfg_front>; |
| reg = <0x0920f080 0x4>; |
| reg-names = "irqmux"; |
| interrupts = <GIC_SPI 189 IRQ_TYPE_NONE>; |
| interrupts-names = "irqmux"; |
| ranges = <0 0x09200000 0x10000>; |
| |
| pio10: pio@09200000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x0 0x100>; |
| st,bank-name = "PIO10"; |
| }; |
| pio11: pio@09201000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x1000 0x100>; |
| st,bank-name = "PIO11"; |
| }; |
| pio12: pio@09202000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x2000 0x100>; |
| st,bank-name = "PIO12"; |
| }; |
| pio13: pio@09203000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x3000 0x100>; |
| st,bank-name = "PIO13"; |
| }; |
| pio14: pio@09204000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x4000 0x100>; |
| st,bank-name = "PIO14"; |
| }; |
| pio15: pio@09205000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x5000 0x100>; |
| st,bank-name = "PIO15"; |
| }; |
| pio16: pio@09206000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x6000 0x100>; |
| st,bank-name = "PIO16"; |
| }; |
| pio17: pio@09207000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x7000 0x100>; |
| st,bank-name = "PIO17"; |
| }; |
| pio18: pio@09208000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x8000 0x100>; |
| st,bank-name = "PIO18"; |
| }; |
| pio19: pio@09209000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x9000 0x100>; |
| st,bank-name = "PIO19"; |
| }; |
| |
| /* Comms */ |
| serial0 { |
| pinctrl_serial0: serial0-0 { |
| st,pins { |
| tx = <&pio17 0 ALT1 OUT>; |
| rx = <&pio17 1 ALT1 IN>; |
| }; |
| }; |
| }; |
| |
| serial1 { |
| pinctrl_serial1: serial1-0 { |
| st,pins { |
| tx = <&pio16 0 ALT1 OUT>; |
| rx = <&pio16 1 ALT1 IN>; |
| }; |
| }; |
| }; |
| |
| serial2 { |
| pinctrl_serial2: serial2-0 { |
| st,pins { |
| tx = <&pio15 0 ALT1 OUT>; |
| rx = <&pio15 1 ALT1 IN>; |
| }; |
| }; |
| }; |
| |
| mmc1 { |
| pinctrl_sd1: sd1-0 { |
| st,pins { |
| sd_clk = <&pio19 3 ALT5 BIDIR NICLK 0 CLK_B>; |
| sd_cmd = <&pio19 2 ALT5 BIDIR_PU BYPASS 0>; |
| sd_dat0 = <&pio19 4 ALT5 BIDIR_PU BYPASS 0>; |
| sd_dat1 = <&pio19 5 ALT5 BIDIR_PU BYPASS 0>; |
| sd_dat2 = <&pio19 6 ALT5 BIDIR_PU BYPASS 0>; |
| sd_dat3 = <&pio19 7 ALT5 BIDIR_PU BYPASS 0>; |
| sd_led = <&pio16 6 ALT6 OUT>; |
| sd_pwren = <&pio16 7 ALT6 OUT>; |
| sd_cd = <&pio19 0 ALT6 IN>; |
| sd_wp = <&pio19 1 ALT6 IN>; |
| }; |
| }; |
| }; |
| |
| |
| i2c0 { |
| pinctrl_i2c0_default: i2c0-default { |
| st,pins { |
| sda = <&pio10 6 ALT2 BIDIR>; |
| scl = <&pio10 5 ALT2 BIDIR>; |
| }; |
| }; |
| }; |
| |
| i2c1 { |
| pinctrl_i2c1_default: i2c1-default { |
| st,pins { |
| sda = <&pio11 1 ALT2 BIDIR>; |
| scl = <&pio11 0 ALT2 BIDIR>; |
| }; |
| }; |
| }; |
| |
| i2c2 { |
| pinctrl_i2c2_default: i2c2-default { |
| st,pins { |
| sda = <&pio15 6 ALT2 BIDIR>; |
| scl = <&pio15 5 ALT2 BIDIR>; |
| }; |
| }; |
| }; |
| |
| i2c3 { |
| pinctrl_i2c3_default: i2c3-default { |
| st,pins { |
| sda = <&pio18 6 ALT1 BIDIR>; |
| scl = <&pio18 5 ALT1 BIDIR>; |
| }; |
| }; |
| }; |
| |
| spi0 { |
| pinctrl_spi0_default: spi0-default { |
| st,pins { |
| mtsr = <&pio12 6 ALT2 BIDIR>; |
| mrst = <&pio12 7 ALT2 BIDIR>; |
| scl = <&pio12 5 ALT2 BIDIR>; |
| }; |
| }; |
| }; |
| }; |
| |
| pin-controller-front1 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "st,stih407-front-pinctrl"; |
| st,syscfg = <&syscfg_front>; |
| reg = <0x0921f080 0x4>; |
| reg-names = "irqmux"; |
| interrupts = <GIC_SPI 190 IRQ_TYPE_NONE>; |
| interrupts-names = "irqmux"; |
| ranges = <0 0x09210000 0x10000>; |
| |
| pio20: pio@09210000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x0 0x100>; |
| st,bank-name = "PIO20"; |
| }; |
| }; |
| |
| pin-controller-rear { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "st,stih407-rear-pinctrl"; |
| st,syscfg = <&syscfg_rear>; |
| reg = <0x0922f080 0x4>; |
| reg-names = "irqmux"; |
| interrupts = <GIC_SPI 191 IRQ_TYPE_NONE>; |
| interrupts-names = "irqmux"; |
| ranges = <0 0x09220000 0x6000>; |
| |
| pio30: gpio@09220000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x0 0x100>; |
| st,bank-name = "PIO30"; |
| }; |
| pio31: gpio@09221000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x1000 0x100>; |
| st,bank-name = "PIO31"; |
| }; |
| pio32: gpio@09222000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x2000 0x100>; |
| st,bank-name = "PIO32"; |
| }; |
| pio33: gpio@09223000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x3000 0x100>; |
| st,bank-name = "PIO33"; |
| }; |
| pio34: gpio@09224000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x4000 0x100>; |
| st,bank-name = "PIO34"; |
| }; |
| pio35: gpio@09225000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x5000 0x100>; |
| st,bank-name = "PIO35"; |
| st,retime-pin-mask = <0x7f>; |
| }; |
| |
| i2c4 { |
| pinctrl_i2c4_default: i2c4-default { |
| st,pins { |
| sda = <&pio30 1 ALT1 BIDIR>; |
| scl = <&pio30 0 ALT1 BIDIR>; |
| }; |
| }; |
| }; |
| |
| i2c5 { |
| pinctrl_i2c5_default: i2c5-default { |
| st,pins { |
| sda = <&pio34 4 ALT1 BIDIR>; |
| scl = <&pio34 3 ALT1 BIDIR>; |
| }; |
| }; |
| }; |
| |
| usb3 { |
| pinctrl_usb3: usb3-2 { |
| st,pins { |
| usb-oc-detect = <&pio35 4 ALT1 IN>; |
| usb-pwr-enable = <&pio35 5 ALT1 OUT>; |
| usb-vbus-valid = <&pio35 6 ALT1 IN>; |
| }; |
| }; |
| }; |
| |
| pwm0 { |
| pinctrl_pwm0_chan0_default: pwm0-0-default { |
| st,pins { |
| pwm-out = <&pio31 1 ALT1 OUT>; |
| }; |
| }; |
| }; |
| }; |
| |
| pin-controller-flash { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "st,stih407-flash-pinctrl"; |
| st,syscfg = <&syscfg_flash>; |
| reg = <0x0923f080 0x4>; |
| reg-names = "irqmux"; |
| interrupts = <GIC_SPI 192 IRQ_TYPE_NONE>; |
| interrupts-names = "irqmux"; |
| ranges = <0 0x09230000 0x3000>; |
| |
| pio40: gpio@09230000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0 0x100>; |
| st,bank-name = "PIO40"; |
| }; |
| pio41: gpio@09231000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x1000 0x100>; |
| st,bank-name = "PIO41"; |
| }; |
| pio42: gpio@09232000 { |
| gpio-controller; |
| #gpio-cells = <1>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x2000 0x100>; |
| st,bank-name = "PIO42"; |
| }; |
| |
| mmc0 { |
| pinctrl_mmc0: mmc0-0 { |
| st,pins { |
| emmc_clk = <&pio40 6 ALT1 BIDIR>; |
| emmc_cmd = <&pio40 7 ALT1 BIDIR_PU>; |
| emmc_d0 = <&pio41 0 ALT1 BIDIR_PU>; |
| emmc_d1 = <&pio41 1 ALT1 BIDIR_PU>; |
| emmc_d2 = <&pio41 2 ALT1 BIDIR_PU>; |
| emmc_d3 = <&pio41 3 ALT1 BIDIR_PU>; |
| emmc_d4 = <&pio41 4 ALT1 BIDIR_PU>; |
| emmc_d5 = <&pio41 5 ALT1 BIDIR_PU>; |
| emmc_d6 = <&pio41 6 ALT1 BIDIR_PU>; |
| emmc_d7 = <&pio41 7 ALT1 BIDIR_PU>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |