| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Copyright (C) 2012-2013 Linaro Ltd. |
| * Author: Haojian Zhuang <haojian.zhuang@linaro.org> |
| */ |
| |
| /dts-v1/; |
| |
| #include "hi3620.dtsi" |
| |
| / { |
| model = "Hisilicon Hi4511 Development Board"; |
| compatible = "hisilicon,hi3620-hi4511"; |
| |
| chosen { |
| bootargs = "root=/dev/ram0"; |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| memory@40000000 { |
| device_type = "memory"; |
| reg = <0x40000000 0x20000000>; |
| }; |
| |
| amba-bus { |
| dual_timer0: dual_timer@800000 { |
| status = "okay"; |
| }; |
| |
| uart0: serial@b00000 { /* console */ |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>; |
| pinctrl-1 = <&uart0_pmx_idle &uart0_cfg_idle>; |
| status = "okay"; |
| }; |
| |
| uart1: serial@b01000 { /* modem */ |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>; |
| pinctrl-1 = <&uart1_pmx_idle &uart1_cfg_idle>; |
| status = "okay"; |
| }; |
| |
| uart2: serial@b02000 { /* audience */ |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>; |
| pinctrl-1 = <&uart2_pmx_idle &uart2_cfg_idle>; |
| status = "okay"; |
| }; |
| |
| uart3: serial@b03000 { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>; |
| pinctrl-1 = <&uart3_pmx_idle &uart3_cfg_idle>; |
| status = "okay"; |
| }; |
| |
| uart4: serial@b04000 { |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>; |
| pinctrl-1 = <&uart4_pmx_idle &uart4_cfg_func>; |
| status = "okay"; |
| }; |
| |
| pmx0: pinmux@803000 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&board_pmx_pins>; |
| |
| board_pmx_pins: board-pins { |
| pinctrl-single,pins = < |
| 0x008 0x0 /* GPIO -- eFUSE_DOUT */ |
| 0x100 0x0 /* USIM_CLK & USIM_DATA (IOMG63) */ |
| >; |
| }; |
| uart0_pmx_func: uart0-pins { |
| pinctrl-single,pins = < |
| 0x0f0 0x0 |
| 0x0f4 0x0 /* UART0_RX & UART0_TX */ |
| >; |
| }; |
| uart0_pmx_idle: uart0-idle-pins { |
| pinctrl-single,pins = < |
| /*0x0f0 0x1*/ /* UART0_CTS & UART0_RTS */ |
| 0x0f4 0x1 /* UART0_RX & UART0_TX */ |
| >; |
| }; |
| uart1_pmx_func: uart1-pins { |
| pinctrl-single,pins = < |
| 0x0f8 0x0 /* UART1_CTS & UART1_RTS (IOMG61) */ |
| 0x0fc 0x0 /* UART1_RX & UART1_TX (IOMG62) */ |
| >; |
| }; |
| uart1_pmx_idle: uart1-idle-pins { |
| pinctrl-single,pins = < |
| 0x0f8 0x1 /* GPIO (IOMG61) */ |
| 0x0fc 0x1 /* GPIO (IOMG62) */ |
| >; |
| }; |
| uart2_pmx_func: uart2-pins { |
| pinctrl-single,pins = < |
| 0x104 0x2 /* UART2_RXD (IOMG96) */ |
| 0x108 0x2 /* UART2_TXD (IOMG64) */ |
| >; |
| }; |
| uart2_pmx_idle: uart2-idle-pins { |
| pinctrl-single,pins = < |
| 0x104 0x1 /* GPIO (IOMG96) */ |
| 0x108 0x1 /* GPIO (IOMG64) */ |
| >; |
| }; |
| uart3_pmx_func: uart3-pins { |
| pinctrl-single,pins = < |
| 0x160 0x2 /* UART3_CTS & UART3_RTS (IOMG85) */ |
| 0x164 0x2 /* UART3_RXD & UART3_TXD (IOMG86) */ |
| >; |
| }; |
| uart3_pmx_idle: uart3-idle-pins { |
| pinctrl-single,pins = < |
| 0x160 0x1 /* GPIO (IOMG85) */ |
| 0x164 0x1 /* GPIO (IOMG86) */ |
| >; |
| }; |
| uart4_pmx_func: uart4-pins { |
| pinctrl-single,pins = < |
| 0x168 0x0 /* UART4_CTS & UART4_RTS (IOMG87) */ |
| 0x16c 0x0 /* UART4_RXD (IOMG88) */ |
| 0x170 0x0 /* UART4_TXD (IOMG93) */ |
| >; |
| }; |
| uart4_pmx_idle: uart4-idle-pins { |
| pinctrl-single,pins = < |
| 0x168 0x1 /* GPIO (IOMG87) */ |
| 0x16c 0x1 /* GPIO (IOMG88) */ |
| 0x170 0x1 /* GPIO (IOMG93) */ |
| >; |
| }; |
| i2c0_pmx_func: i2c0-pins { |
| pinctrl-single,pins = < |
| 0x0b4 0x0 /* I2C0_SCL & I2C0_SDA (IOMG45) */ |
| >; |
| }; |
| i2c0_pmx_idle: i2c0-idle-pins { |
| pinctrl-single,pins = < |
| 0x0b4 0x1 /* GPIO (IOMG45) */ |
| >; |
| }; |
| i2c1_pmx_func: i2c1-pins { |
| pinctrl-single,pins = < |
| 0x0b8 0x0 /* I2C1_SCL & I2C1_SDA (IOMG46) */ |
| >; |
| }; |
| i2c1_pmx_idle: i2c1-idle-pins { |
| pinctrl-single,pins = < |
| 0x0b8 0x1 /* GPIO (IOMG46) */ |
| >; |
| }; |
| i2c2_pmx_func: i2c2-pins { |
| pinctrl-single,pins = < |
| 0x068 0x0 /* I2C2_SCL (IOMG26) */ |
| 0x06c 0x0 /* I2C2_SDA (IOMG27) */ |
| >; |
| }; |
| i2c2_pmx_idle: i2c2-idle-pins { |
| pinctrl-single,pins = < |
| 0x068 0x1 /* GPIO (IOMG26) */ |
| 0x06c 0x1 /* GPIO (IOMG27) */ |
| >; |
| }; |
| i2c3_pmx_func: i2c3-pins { |
| pinctrl-single,pins = < |
| 0x050 0x2 /* I2C3_SCL (IOMG20) */ |
| 0x054 0x2 /* I2C3_SDA (IOMG21) */ |
| >; |
| }; |
| i2c3_pmx_idle: i2c3-idle-pins { |
| pinctrl-single,pins = < |
| 0x050 0x1 /* GPIO (IOMG20) */ |
| 0x054 0x1 /* GPIO (IOMG21) */ |
| >; |
| }; |
| spi0_pmx_func: spi0-pins { |
| pinctrl-single,pins = < |
| 0x0d4 0x0 /* SPI0_CLK/SPI0_DI/SPI0_DO (IOMG53) */ |
| 0x0d8 0x0 /* SPI0_CS0 (IOMG54) */ |
| 0x0dc 0x0 /* SPI0_CS1 (IOMG55) */ |
| 0x0e0 0x0 /* SPI0_CS2 (IOMG56) */ |
| 0x0e4 0x0 /* SPI0_CS3 (IOMG57) */ |
| >; |
| }; |
| spi0_pmx_idle: spi0-idle-pins { |
| pinctrl-single,pins = < |
| 0x0d4 0x1 /* GPIO (IOMG53) */ |
| 0x0d8 0x1 /* GPIO (IOMG54) */ |
| 0x0dc 0x1 /* GPIO (IOMG55) */ |
| 0x0e0 0x1 /* GPIO (IOMG56) */ |
| 0x0e4 0x1 /* GPIO (IOMG57) */ |
| >; |
| }; |
| spi1_pmx_func: spi1-pins { |
| pinctrl-single,pins = < |
| 0x184 0x0 /* SPI1_CLK/SPI1_DI (IOMG98) */ |
| 0x0e8 0x0 /* SPI1_DO (IOMG58) */ |
| 0x0ec 0x0 /* SPI1_CS (IOMG95) */ |
| >; |
| }; |
| spi1_pmx_idle: spi1-idle-pins { |
| pinctrl-single,pins = < |
| 0x184 0x1 /* GPIO (IOMG98) */ |
| 0x0e8 0x1 /* GPIO (IOMG58) */ |
| 0x0ec 0x1 /* GPIO (IOMG95) */ |
| >; |
| }; |
| kpc_pmx_func: kpc-pins { |
| pinctrl-single,pins = < |
| 0x12c 0x0 /* KEY_IN0 (IOMG73) */ |
| 0x130 0x0 /* KEY_IN1 (IOMG74) */ |
| 0x134 0x0 /* KEY_IN2 (IOMG75) */ |
| 0x10c 0x0 /* KEY_OUT0 (IOMG65) */ |
| 0x110 0x0 /* KEY_OUT1 (IOMG66) */ |
| 0x114 0x0 /* KEY_OUT2 (IOMG67) */ |
| >; |
| }; |
| kpc_pmx_idle: kpc-idle-pins { |
| pinctrl-single,pins = < |
| 0x12c 0x1 /* GPIO (IOMG73) */ |
| 0x130 0x1 /* GPIO (IOMG74) */ |
| 0x134 0x1 /* GPIO (IOMG75) */ |
| 0x10c 0x1 /* GPIO (IOMG65) */ |
| 0x110 0x1 /* GPIO (IOMG66) */ |
| 0x114 0x1 /* GPIO (IOMG67) */ |
| >; |
| }; |
| gpio_key_func: gpio-key-pins { |
| pinctrl-single,pins = < |
| 0x10c 0x1 /* KEY_OUT0/GPIO (IOMG65) */ |
| 0x130 0x1 /* KEY_IN1/GPIO (IOMG74) */ |
| >; |
| }; |
| emmc_pmx_func: emmc-pins { |
| pinctrl-single,pins = < |
| 0x030 0x2 /* eMMC_CMD/eMMC_CLK (IOMG12) */ |
| 0x018 0x0 /* NAND_CS3_N (IOMG6) */ |
| 0x024 0x0 /* NAND_BUSY2_N (IOMG8) */ |
| 0x028 0x0 /* NAND_BUSY3_N (IOMG9) */ |
| 0x02c 0x2 /* eMMC_DATA[0:7] (IOMG10) */ |
| >; |
| }; |
| emmc_pmx_idle: emmc-idle-pins { |
| pinctrl-single,pins = < |
| 0x030 0x0 /* GPIO (IOMG12) */ |
| 0x018 0x1 /* GPIO (IOMG6) */ |
| 0x024 0x1 /* GPIO (IOMG8) */ |
| 0x028 0x1 /* GPIO (IOMG9) */ |
| 0x02c 0x1 /* GPIO (IOMG10) */ |
| >; |
| }; |
| sd_pmx_func: sd-pins { |
| pinctrl-single,pins = < |
| 0x0bc 0x0 /* SD_CLK/SD_CMD/SD_DATA0/SD_DATA1/SD_DATA2 (IOMG47) */ |
| 0x0c0 0x0 /* SD_DATA3 (IOMG48) */ |
| >; |
| }; |
| sd_pmx_idle: sd-idle-pins { |
| pinctrl-single,pins = < |
| 0x0bc 0x1 /* GPIO (IOMG47) */ |
| 0x0c0 0x1 /* GPIO (IOMG48) */ |
| >; |
| }; |
| nand_pmx_func: nand-pins { |
| pinctrl-single,pins = < |
| 0x00c 0x0 /* NAND_ALE/NAND_CLE/.../NAND_DATA[0:7] (IOMG3) */ |
| 0x010 0x0 /* NAND_CS1_N (IOMG4) */ |
| 0x014 0x0 /* NAND_CS2_N (IOMG5) */ |
| 0x018 0x0 /* NAND_CS3_N (IOMG6) */ |
| 0x01c 0x0 /* NAND_BUSY0_N (IOMG94) */ |
| 0x020 0x0 /* NAND_BUSY1_N (IOMG7) */ |
| 0x024 0x0 /* NAND_BUSY2_N (IOMG8) */ |
| 0x028 0x0 /* NAND_BUSY3_N (IOMG9) */ |
| 0x02c 0x0 /* NAND_DATA[8:15] (IOMG10) */ |
| >; |
| }; |
| nand_pmx_idle: nand-idle-pins { |
| pinctrl-single,pins = < |
| 0x00c 0x1 /* GPIO (IOMG3) */ |
| 0x010 0x1 /* GPIO (IOMG4) */ |
| 0x014 0x1 /* GPIO (IOMG5) */ |
| 0x018 0x1 /* GPIO (IOMG6) */ |
| 0x01c 0x1 /* GPIO (IOMG94) */ |
| 0x020 0x1 /* GPIO (IOMG7) */ |
| 0x024 0x1 /* GPIO (IOMG8) */ |
| 0x028 0x1 /* GPIO (IOMG9) */ |
| 0x02c 0x1 /* GPIO (IOMG10) */ |
| >; |
| }; |
| sdio_pmx_func: sdio-pins { |
| pinctrl-single,pins = < |
| 0x0c4 0x0 /* SDIO_CLK/SDIO_CMD/SDIO_DATA[0:3] (IOMG49) */ |
| >; |
| }; |
| sdio_pmx_idle: sdio-idle-pins { |
| pinctrl-single,pins = < |
| 0x0c4 0x1 /* GPIO (IOMG49) */ |
| >; |
| }; |
| audio_out_pmx_func: audio-out-pins { |
| pinctrl-single,pins = < |
| 0x0f0 0x1 /* GPIO (IOMG59), audio spk & earphone */ |
| >; |
| }; |
| }; |
| |
| pmx1: pinmux@803800 { |
| pinctrl-names = "default"; |
| pinctrl-0 = < &board_pu_pins &board_pd_pins &board_pd_ps_pins |
| &board_np_pins &board_ps_pins &kpc_cfg_func |
| &audio_out_cfg_func>; |
| board_pu_pins: board-pu-pins { |
| pinctrl-single,pins = < |
| 0x014 0 /* GPIO_158 (IOCFG2) */ |
| 0x018 0 /* GPIO_159 (IOCFG3) */ |
| 0x01c 0 /* BOOT_MODE0 (IOCFG4) */ |
| 0x020 0 /* BOOT_MODE1 (IOCFG5) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <1 1 0 1>; |
| }; |
| board_pd_pins: board-pd-pins { |
| pinctrl-single,pins = < |
| 0x038 0 /* eFUSE_DOUT (IOCFG11) */ |
| 0x150 0 /* ISP_GPIO8 (IOCFG93) */ |
| 0x154 0 /* ISP_GPIO9 (IOCFG94) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| board_pd_ps_pins: board-pd-ps-pins { |
| pinctrl-single,pins = < |
| 0x2d8 0 /* CLK_OUT0 (IOCFG190) */ |
| 0x004 0 /* PMU_SPI_DATA (IOCFG192) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| board_np_pins: board-np-pins { |
| pinctrl-single,pins = < |
| 0x24c 0 /* KEYPAD_OUT7 (IOCFG155) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| board_ps_pins: board-ps-pins { |
| pinctrl-single,pins = < |
| 0x000 0 /* PMU_SPI_CLK (IOCFG191) */ |
| 0x008 0 /* PMU_SPI_CS_N (IOCFG193) */ |
| >; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| uart0_cfg_func: uart0-cfg-pins { |
| pinctrl-single,pins = < |
| 0x208 0 /* UART0_RXD (IOCFG138) */ |
| 0x20c 0 /* UART0_TXD (IOCFG139) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| uart0_cfg_idle: uart0-cfg-idle-pins { |
| pinctrl-single,pins = < |
| 0x208 0 /* UART0_RXD (IOCFG138) */ |
| 0x20c 0 /* UART0_TXD (IOCFG139) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| uart1_cfg_func: uart1-cfg-pins { |
| pinctrl-single,pins = < |
| 0x210 0 /* UART1_CTS (IOCFG140) */ |
| 0x214 0 /* UART1_RTS (IOCFG141) */ |
| 0x218 0 /* UART1_RXD (IOCFG142) */ |
| 0x21c 0 /* UART1_TXD (IOCFG143) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| uart1_cfg_idle: uart1-cfg-idle-pins { |
| pinctrl-single,pins = < |
| 0x210 0 /* UART1_CTS (IOCFG140) */ |
| 0x214 0 /* UART1_RTS (IOCFG141) */ |
| 0x218 0 /* UART1_RXD (IOCFG142) */ |
| 0x21c 0 /* UART1_TXD (IOCFG143) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| uart2_cfg_func: uart2-cfg-pins { |
| pinctrl-single,pins = < |
| 0x220 0 /* UART2_CTS (IOCFG144) */ |
| 0x224 0 /* UART2_RTS (IOCFG145) */ |
| 0x228 0 /* UART2_RXD (IOCFG146) */ |
| 0x22c 0 /* UART2_TXD (IOCFG147) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| uart2_cfg_idle: uart2-cfg-idle-pins { |
| pinctrl-single,pins = < |
| 0x220 0 /* GPIO (IOCFG144) */ |
| 0x224 0 /* GPIO (IOCFG145) */ |
| 0x228 0 /* GPIO (IOCFG146) */ |
| 0x22c 0 /* GPIO (IOCFG147) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| uart3_cfg_func: uart3-cfg-pins { |
| pinctrl-single,pins = < |
| 0x294 0 /* UART3_CTS (IOCFG173) */ |
| 0x298 0 /* UART3_RTS (IOCFG174) */ |
| 0x29c 0 /* UART3_RXD (IOCFG175) */ |
| 0x2a0 0 /* UART3_TXD (IOCFG176) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| uart3_cfg_idle: uart3-cfg-idle-pins { |
| pinctrl-single,pins = < |
| 0x294 0 /* UART3_CTS (IOCFG173) */ |
| 0x298 0 /* UART3_RTS (IOCFG174) */ |
| 0x29c 0 /* UART3_RXD (IOCFG175) */ |
| 0x2a0 0 /* UART3_TXD (IOCFG176) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| uart4_cfg_func: uart4-cfg-pins { |
| pinctrl-single,pins = < |
| 0x2a4 0 /* UART4_CTS (IOCFG177) */ |
| 0x2a8 0 /* UART4_RTS (IOCFG178) */ |
| 0x2ac 0 /* UART4_RXD (IOCFG179) */ |
| 0x2b0 0 /* UART4_TXD (IOCFG180) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| i2c0_cfg_func: i2c0-cfg-pins { |
| pinctrl-single,pins = < |
| 0x17c 0 /* I2C0_SCL (IOCFG103) */ |
| 0x180 0 /* I2C0_SDA (IOCFG104) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| i2c1_cfg_func: i2c1-cfg-pins { |
| pinctrl-single,pins = < |
| 0x184 0 /* I2C1_SCL (IOCFG105) */ |
| 0x188 0 /* I2C1_SDA (IOCFG106) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| i2c2_cfg_func: i2c2-cfg-pins { |
| pinctrl-single,pins = < |
| 0x118 0 /* I2C2_SCL (IOCFG79) */ |
| 0x11c 0 /* I2C2_SDA (IOCFG80) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| i2c3_cfg_func: i2c3-cfg-pins { |
| pinctrl-single,pins = < |
| 0x100 0 /* I2C3_SCL (IOCFG73) */ |
| 0x104 0 /* I2C3_SDA (IOCFG74) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| spi0_cfg_func1: spi0-cfg-func1-pins { |
| pinctrl-single,pins = < |
| 0x1d4 0 /* SPI0_CLK (IOCFG125) */ |
| 0x1d8 0 /* SPI0_DI (IOCFG126) */ |
| 0x1dc 0 /* SPI0_DO (IOCFG127) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| spi0_cfg_func2: spi0-cfg-func2-pins { |
| pinctrl-single,pins = < |
| 0x1e0 0 /* SPI0_CS0 (IOCFG128) */ |
| 0x1e4 0 /* SPI0_CS1 (IOCFG129) */ |
| 0x1e8 0 /* SPI0_CS2 (IOCFG130 */ |
| 0x1ec 0 /* SPI0_CS3 (IOCFG131) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <1 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| spi1_cfg_func1: spi1-cfg-func1-pins { |
| pinctrl-single,pins = < |
| 0x1f0 0 /* SPI1_CLK (IOCFG132) */ |
| 0x1f4 0 /* SPI1_DI (IOCFG133) */ |
| 0x1f8 0 /* SPI1_DO (IOCFG134) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| spi1_cfg_func2: spi1-cfg-func2-pins { |
| pinctrl-single,pins = < |
| 0x1fc 0 /* SPI1_CS (IOCFG135) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <1 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| kpc_cfg_func: kpc-cfg-pins { |
| pinctrl-single,pins = < |
| 0x250 0 /* KEY_IN0 (IOCFG156) */ |
| 0x254 0 /* KEY_IN1 (IOCFG157) */ |
| 0x258 0 /* KEY_IN2 (IOCFG158) */ |
| 0x230 0 /* KEY_OUT0 (IOCFG148) */ |
| 0x234 0 /* KEY_OUT1 (IOCFG149) */ |
| 0x238 0 /* KEY_OUT2 (IOCFG150) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| emmc_cfg_func: emmc-cfg-pins { |
| pinctrl-single,pins = < |
| 0x0ac 0 /* eMMC_CMD (IOCFG40) */ |
| 0x0b0 0 /* eMMC_CLK (IOCFG41) */ |
| 0x058 0 /* NAND_CS3_N (IOCFG19) */ |
| 0x064 0 /* NAND_BUSY2_N (IOCFG22) */ |
| 0x068 0 /* NAND_BUSY3_N (IOCFG23) */ |
| 0x08c 0 /* NAND_DATA8 (IOCFG32) */ |
| 0x090 0 /* NAND_DATA9 (IOCFG33) */ |
| 0x094 0 /* NAND_DATA10 (IOCFG34) */ |
| 0x098 0 /* NAND_DATA11 (IOCFG35) */ |
| 0x09c 0 /* NAND_DATA12 (IOCFG36) */ |
| 0x0a0 0 /* NAND_DATA13 (IOCFG37) */ |
| 0x0a4 0 /* NAND_DATA14 (IOCFG38) */ |
| 0x0a8 0 /* NAND_DATA15 (IOCFG39) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <1 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| sd_cfg_func1: sd-cfg-func1-pins { |
| pinctrl-single,pins = < |
| 0x18c 0 /* SD_CLK (IOCFG107) */ |
| 0x190 0 /* SD_CMD (IOCFG108) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| sd_cfg_func2: sd-cfg-func2-pins { |
| pinctrl-single,pins = < |
| 0x194 0 /* SD_DATA0 (IOCFG109) */ |
| 0x198 0 /* SD_DATA1 (IOCFG110) */ |
| 0x19c 0 /* SD_DATA2 (IOCFG111) */ |
| 0x1a0 0 /* SD_DATA3 (IOCFG112) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x70 0xf0>; |
| }; |
| nand_cfg_func1: nand-cfg-func1-pins { |
| pinctrl-single,pins = < |
| 0x03c 0 /* NAND_ALE (IOCFG12) */ |
| 0x040 0 /* NAND_CLE (IOCFG13) */ |
| 0x06c 0 /* NAND_DATA0 (IOCFG24) */ |
| 0x070 0 /* NAND_DATA1 (IOCFG25) */ |
| 0x074 0 /* NAND_DATA2 (IOCFG26) */ |
| 0x078 0 /* NAND_DATA3 (IOCFG27) */ |
| 0x07c 0 /* NAND_DATA4 (IOCFG28) */ |
| 0x080 0 /* NAND_DATA5 (IOCFG29) */ |
| 0x084 0 /* NAND_DATA6 (IOCFG30) */ |
| 0x088 0 /* NAND_DATA7 (IOCFG31) */ |
| 0x08c 0 /* NAND_DATA8 (IOCFG32) */ |
| 0x090 0 /* NAND_DATA9 (IOCFG33) */ |
| 0x094 0 /* NAND_DATA10 (IOCFG34) */ |
| 0x098 0 /* NAND_DATA11 (IOCFG35) */ |
| 0x09c 0 /* NAND_DATA12 (IOCFG36) */ |
| 0x0a0 0 /* NAND_DATA13 (IOCFG37) */ |
| 0x0a4 0 /* NAND_DATA14 (IOCFG38) */ |
| 0x0a8 0 /* NAND_DATA15 (IOCFG39) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| nand_cfg_func2: nand-cfg-func2-pins { |
| pinctrl-single,pins = < |
| 0x044 0 /* NAND_RE_N (IOCFG14) */ |
| 0x048 0 /* NAND_WE_N (IOCFG15) */ |
| 0x04c 0 /* NAND_CS0_N (IOCFG16) */ |
| 0x050 0 /* NAND_CS1_N (IOCFG17) */ |
| 0x054 0 /* NAND_CS2_N (IOCFG18) */ |
| 0x058 0 /* NAND_CS3_N (IOCFG19) */ |
| 0x05c 0 /* NAND_BUSY0_N (IOCFG20) */ |
| 0x060 0 /* NAND_BUSY1_N (IOCFG21) */ |
| 0x064 0 /* NAND_BUSY2_N (IOCFG22) */ |
| 0x068 0 /* NAND_BUSY3_N (IOCFG23) */ |
| >; |
| pinctrl-single,bias-pulldown = <0 2 0 2>; |
| pinctrl-single,bias-pullup = <1 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| sdio_cfg_func: sdio-cfg-pins { |
| pinctrl-single,pins = < |
| 0x1a4 0 /* SDIO0_CLK (IOCG113) */ |
| 0x1a8 0 /* SDIO0_CMD (IOCG114) */ |
| 0x1ac 0 /* SDIO0_DATA0 (IOCG115) */ |
| 0x1b0 0 /* SDIO0_DATA1 (IOCG116) */ |
| 0x1b4 0 /* SDIO0_DATA2 (IOCG117) */ |
| 0x1b8 0 /* SDIO0_DATA3 (IOCG118) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| pinctrl-single,drive-strength = <0x30 0xf0>; |
| }; |
| audio_out_cfg_func: audio-out-cfg-pins { |
| pinctrl-single,pins = < |
| 0x200 0 /* GPIO (IOCFG136) */ |
| 0x204 0 /* GPIO (IOCFG137) */ |
| >; |
| pinctrl-single,bias-pulldown = <2 2 0 2>; |
| pinctrl-single,bias-pullup = <0 1 0 1>; |
| }; |
| }; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| |
| call { |
| label = "call"; |
| gpios = <&gpio17 2 0>; |
| linux,code = <169>; /* KEY_PHONE */ |
| }; |
| }; |
| }; |