Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: Add support for the cpuimx51 board from Eukrea and its baseboard.

The following devices/functionalities were added:
* Main and secondary UARTs.
* i2c and the pcf8563 device.
* Ethernet.
* NAND.
* The BP1 button.
* The LED.
* Watchdog
* SD.

Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Eric Bénard <eric@eukrea.com>
Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>

authored by

Denis Carikli and committed by
Shawn Guo
c19ba9f9 ec2ea8c1

+269
+1
arch/arm/boot/dts/Makefile
··· 146 146 imx51-apf51.dtb \ 147 147 imx51-apf51dev.dtb \ 148 148 imx51-babbage.dtb \ 149 + imx51-eukrea-mbimxsd51-baseboard.dtb \ 149 150 imx53-ard.dtb \ 150 151 imx53-evk.dtb \ 151 152 imx53-m53evk.dtb \
+93
arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi
··· 1 + /* 2 + * Copyright 2013 Eukréa Electromatique <denis@eukrea.com> 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License 6 + * as published by the Free Software Foundation; either version 2 7 + * of the License, or (at your option) any later version. 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program; if not, write to the Free Software 15 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 16 + * MA 02110-1301, USA. 17 + */ 18 + 19 + #include "imx51.dtsi" 20 + 21 + / { 22 + model = "Eukrea CPUIMX51"; 23 + compatible = "eukrea,cpuimx51", "fsl,imx51"; 24 + 25 + memory { 26 + reg = <0x90000000 0x10000000>; /* 256M */ 27 + }; 28 + }; 29 + 30 + &fec { 31 + pinctrl-names = "default"; 32 + pinctrl-0 = <&pinctrl_fec>; 33 + status = "okay"; 34 + }; 35 + 36 + &i2c1 { 37 + pinctrl-names = "default"; 38 + pinctrl-0 = <&pinctrl_i2c1>; 39 + status = "okay"; 40 + 41 + pcf8563@51 { 42 + compatible = "nxp,pcf8563"; 43 + reg = <0x51>; 44 + }; 45 + }; 46 + 47 + &iomuxc { 48 + imx51-eukrea { 49 + pinctrl_tsc2007_1: tsc2007grp-1 { 50 + fsl,pins = < 51 + MX51_PAD_GPIO_NAND__GPIO_NAND 0x1f5 52 + MX51_PAD_NANDF_D8__GPIO4_0 0x1f5 53 + >; 54 + }; 55 + 56 + pinctrl_fec: fecgrp { 57 + fsl,pins = < 58 + MX51_PAD_DI_GP3__FEC_TX_ER 0x80000000 59 + MX51_PAD_DI2_PIN4__FEC_CRS 0x80000000 60 + MX51_PAD_DI2_PIN2__FEC_MDC 0x80000000 61 + MX51_PAD_DI2_PIN3__FEC_MDIO 0x80000000 62 + MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 0x80000000 63 + MX51_PAD_DI_GP4__FEC_RDATA2 0x80000000 64 + MX51_PAD_DISP2_DAT0__FEC_RDATA3 0x80000000 65 + MX51_PAD_DISP2_DAT1__FEC_RX_ER 0x80000000 66 + MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x80000000 67 + MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x80000000 68 + MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x80000000 69 + MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x80000000 70 + MX51_PAD_DISP2_DAT10__FEC_COL 0x80000000 71 + MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x80000000 72 + MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x80000000 73 + MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x80000000 74 + MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x80000000 75 + MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x80000000 76 + >; 77 + }; 78 + 79 + pinctrl_i2c1: i2c1grp { 80 + fsl,pins = < 81 + MX51_PAD_SD2_CMD__I2C1_SCL 0x400001ed 82 + MX51_PAD_SD2_CLK__I2C1_SDA 0x400001ed 83 + >; 84 + }; 85 + }; 86 + }; 87 + 88 + &nfc { 89 + nand-bus-width = <8>; 90 + nand-ecc-mode = "hw"; 91 + nand-on-flash-bbt; 92 + status = "okay"; 93 + };
+175
arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts
··· 1 + /* 2 + * Copyright 2013 Eukréa Electromatique <denis@eukrea.com> 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License 6 + * as published by the Free Software Foundation; either version 2 7 + * of the License, or (at your option) any later version. 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program; if not, write to the Free Software 15 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 16 + * MA 02110-1301, USA. 17 + */ 18 + 19 + /dts-v1/; 20 + #include "imx51-eukrea-cpuimx51.dtsi" 21 + #include <dt-bindings/gpio/gpio.h> 22 + 23 + / { 24 + model = "Eukrea CPUIMX51"; 25 + compatible = "eukrea,mbimxsd51","eukrea,cpuimx51", "fsl,imx51"; 26 + 27 + gpio_keys { 28 + compatible = "gpio-keys"; 29 + pinctrl-names = "default"; 30 + pinctrl-0 = <&pinctrl_gpiokeys_1>; 31 + 32 + button-1 { 33 + label = "BP1"; 34 + gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; 35 + linux,code = <256>; 36 + gpio-key,wakeup; 37 + linux,input-type = <1>; 38 + }; 39 + }; 40 + 41 + leds { 42 + compatible = "gpio-leds"; 43 + pinctrl-names = "default"; 44 + pinctrl-0 = <&pinctrl_gpioled>; 45 + 46 + led1 { 47 + label = "led1"; 48 + gpios = <&gpio3 30 GPIO_ACTIVE_LOW>; 49 + linux,default-trigger = "heartbeat"; 50 + }; 51 + }; 52 + 53 + sound { 54 + compatible = "eukrea,asoc-tlv320"; 55 + eukrea,model = "imx51-eukrea-tlv320aic23"; 56 + ssi-controller = <&ssi2>; 57 + fsl,mux-int-port = <2>; 58 + fsl,mux-ext-port = <3>; 59 + }; 60 + }; 61 + 62 + &audmux { 63 + pinctrl-names = "default"; 64 + pinctrl-0 = <&pinctrl_audmux>; 65 + status = "okay"; 66 + }; 67 + 68 + &esdhc1 { 69 + pinctrl-names = "default"; 70 + pinctrl-0 = <&pinctrl_esdhc1 &pinctrl_esdhc1_cd>; 71 + fsl,cd-controller; 72 + status = "okay"; 73 + }; 74 + 75 + &i2c1 { 76 + tlv320aic23: codec@1a { 77 + compatible = "ti,tlv320aic23"; 78 + reg = <0x1a>; 79 + }; 80 + }; 81 + 82 + &iomuxc { 83 + imx51-eukrea { 84 + pinctrl_audmux: audmuxgrp { 85 + fsl,pins = < 86 + MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0x80000000 87 + MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x80000000 88 + MX51_PAD_AUD3_BB_CK__AUD3_TXC 0x80000000 89 + MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x80000000 90 + >; 91 + }; 92 + 93 + pinctrl_esdhc1: esdhc1grp { 94 + fsl,pins = < 95 + MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5 96 + MX51_PAD_SD1_CLK__SD1_CLK 0x20d5 97 + MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5 98 + MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 99 + MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 100 + MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5 101 + >; 102 + }; 103 + 104 + pinctrl_uart1: uart1grp { 105 + fsl,pins = < 106 + MX51_PAD_UART1_RXD__UART1_RXD 0x1c5 107 + MX51_PAD_UART1_TXD__UART1_TXD 0x1c5 108 + >; 109 + }; 110 + 111 + pinctrl_uart3: uart3grp { 112 + fsl,pins = < 113 + MX51_PAD_UART3_RXD__UART3_RXD 0x1c5 114 + MX51_PAD_UART3_TXD__UART3_TXD 0x1c5 115 + >; 116 + }; 117 + 118 + pinctrl_uart3_rtscts: uart3rtsctsgrp { 119 + fsl,pins = < 120 + MX51_PAD_KEY_COL4__UART3_RTS 0x1c5 121 + MX51_PAD_KEY_COL5__UART3_CTS 0x1c5 122 + >; 123 + }; 124 + 125 + pinctrl_backlight_1: backlightgrp-1 { 126 + fsl,pins = < 127 + MX51_PAD_DI1_D1_CS__GPIO3_4 0x1f5 128 + >; 129 + }; 130 + 131 + pinctrl_esdhc1_cd: esdhc1_cd { 132 + fsl,pins = < 133 + MX51_PAD_GPIO1_0__SD1_CD 0x20d5 134 + >; 135 + }; 136 + 137 + pinctrl_gpiokeys_1: gpiokeysgrp-1 { 138 + fsl,pins = < 139 + MX51_PAD_NANDF_D9__GPIO3_31 0x1f5 140 + >; 141 + }; 142 + 143 + pinctrl_gpioled: gpioledgrp-1 { 144 + fsl,pins = < 145 + MX51_PAD_NANDF_D10__GPIO3_30 0x80000000 146 + >; 147 + }; 148 + 149 + pinctrl_reg_lcd_3v3: reg_lcd_3v3 { 150 + fsl,pins = < 151 + MX51_PAD_CSI1_D9__GPIO3_13 0x1f5 152 + >; 153 + }; 154 + }; 155 + }; 156 + 157 + &ssi2 { 158 + codec-handle = <&tlv320aic23>; 159 + fsl,mode = "i2s-slave"; 160 + status = "okay"; 161 + }; 162 + 163 + &uart1 { 164 + pinctrl-names = "default"; 165 + pinctrl-0 = <&pinctrl_uart1>; 166 + fsl,uart-has-rtscts; 167 + status = "okay"; 168 + }; 169 + 170 + &uart3 { 171 + pinctrl-names = "default"; 172 + pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>; 173 + fsl,uart-has-rtscts; 174 + status = "okay"; 175 + };