1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 */ 4 5#include "imx27-phytec-phycore-som.dtsi" 6 7/ { 8 model = "Phytec pcm970"; 9 compatible = "phytec,imx27-pcm970", "phytec,imx27-pcm038", "fsl,imx27"; 10 11 chosen { 12 stdout-path = &uart1; 13 }; 14 15 display0: LQ035Q7 { 16 model = "Sharp-LQ035Q7"; 17 bits-per-pixel = <16>; 18 fsl,pcr = <0xf00080c0>; 19 20 display-timings { 21 native-mode = <&timing0>; 22 timing0: timing0 { 23 clock-frequency = <5500000>; 24 hactive = <240>; 25 vactive = <320>; 26 hback-porch = <5>; 27 hsync-len = <7>; 28 hfront-porch = <16>; 29 vback-porch = <7>; 30 vsync-len = <1>; 31 vfront-porch = <9>; 32 pixelclk-active = <1>; 33 hsync-active = <1>; 34 vsync-active = <1>; 35 de-active = <0>; 36 }; 37 }; 38 }; 39 40 regulator-2 { 41 compatible = "regulator-fixed"; 42 pinctrl-names = "default"; 43 pinctrl-0 = <&pinctrl_csien>; 44 regulator-name = "CSI_EN"; 45 regulator-min-microvolt = <3300000>; 46 regulator-max-microvolt = <3300000>; 47 gpio = <&gpio2 24 GPIO_ACTIVE_LOW>; 48 regulator-always-on; 49 }; 50 51 usbphy2: usbphy { 52 compatible = "usb-nop-xceiv"; 53 vcc-supply = <®_5v0>; 54 clocks = <&clks IMX27_CLK_DUMMY>; 55 clock-names = "main_clk"; 56 #phy-cells = <0>; 57 }; 58}; 59 60&cspi1 { 61 pinctrl-0 = <&pinctrl_cspi1>, <&pinctrl_cspi1cs1>; 62 cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>, 63 <&gpio4 27 GPIO_ACTIVE_LOW>; 64}; 65 66&fb { 67 pinctrl-names = "default"; 68 pinctrl-0 = <&pinctrl_imxfb1>; 69 display = <&display0>; 70 lcd-supply = <®_5v0>; 71 fsl,dmacr = <0x00020010>; 72 fsl,lscr1 = <0x00120300>; 73 fsl,lpccr = <0x00a903ff>; 74 status = "okay"; 75}; 76 77&i2c1 { 78 clock-frequency = <400000>; 79 pinctrl-names = "default"; 80 pinctrl-0 = <&pinctrl_i2c1>; 81 status = "okay"; 82 83 camgpio: pca9536@41 { 84 compatible = "nxp,pca9536"; 85 reg = <0x41>; 86 gpio-controller; 87 #gpio-cells = <2>; 88 }; 89}; 90 91&iomuxc { 92 pinctrl_csien: csiengrp { 93 fsl,pins = < 94 MX27_PAD_USB_OC_B__GPIO2_24 0x0 95 >; 96 }; 97 98 pinctrl_cspi1cs1: cspi1cs1grp { 99 fsl,pins = < 100 MX27_PAD_CSPI1_SS1__GPIO4_27 0x0 101 >; 102 }; 103 104 pinctrl_imxfb1: imxfbgrp { 105 fsl,pins = < 106 MX27_PAD_LD0__LD0 0x0 107 MX27_PAD_LD1__LD1 0x0 108 MX27_PAD_LD2__LD2 0x0 109 MX27_PAD_LD3__LD3 0x0 110 MX27_PAD_LD4__LD4 0x0 111 MX27_PAD_LD5__LD5 0x0 112 MX27_PAD_LD6__LD6 0x0 113 MX27_PAD_LD7__LD7 0x0 114 MX27_PAD_LD8__LD8 0x0 115 MX27_PAD_LD9__LD9 0x0 116 MX27_PAD_LD10__LD10 0x0 117 MX27_PAD_LD11__LD11 0x0 118 MX27_PAD_LD12__LD12 0x0 119 MX27_PAD_LD13__LD13 0x0 120 MX27_PAD_LD14__LD14 0x0 121 MX27_PAD_LD15__LD15 0x0 122 MX27_PAD_LD16__LD16 0x0 123 MX27_PAD_LD17__LD17 0x0 124 MX27_PAD_CLS__CLS 0x0 125 MX27_PAD_CONTRAST__CONTRAST 0x0 126 MX27_PAD_LSCLK__LSCLK 0x0 127 MX27_PAD_OE_ACD__OE_ACD 0x0 128 MX27_PAD_PS__PS 0x0 129 MX27_PAD_REV__REV 0x0 130 MX27_PAD_SPL_SPR__SPL_SPR 0x0 131 MX27_PAD_HSYNC__HSYNC 0x0 132 MX27_PAD_VSYNC__VSYNC 0x0 133 >; 134 }; 135 136 pinctrl_i2c1: i2c1grp { 137 /* Add pullup to DATA line */ 138 fsl,pins = < 139 MX27_PAD_I2C_DATA__I2C_DATA 0x1 140 MX27_PAD_I2C_CLK__I2C_CLK 0x0 141 >; 142 }; 143 144 pinctrl_owire1: owire1grp { 145 fsl,pins = < 146 MX27_PAD_RTCK__OWIRE 0x0 147 >; 148 }; 149 150 pinctrl_sdhc2: sdhc2grp { 151 fsl,pins = < 152 MX27_PAD_SD2_CLK__SD2_CLK 0x0 153 MX27_PAD_SD2_CMD__SD2_CMD 0x0 154 MX27_PAD_SD2_D0__SD2_D0 0x0 155 MX27_PAD_SD2_D1__SD2_D1 0x0 156 MX27_PAD_SD2_D2__SD2_D2 0x0 157 MX27_PAD_SD2_D3__SD2_D3 0x0 158 MX27_PAD_SSI3_FS__GPIO3_28 0x0 /* WP */ 159 MX27_PAD_SSI3_RXDAT__GPIO3_29 0x0 /* CD */ 160 >; 161 }; 162 163 pinctrl_uart1: uart1grp { 164 fsl,pins = < 165 MX27_PAD_UART1_TXD__UART1_TXD 0x0 166 MX27_PAD_UART1_RXD__UART1_RXD 0x0 167 MX27_PAD_UART1_CTS__UART1_CTS 0x0 168 MX27_PAD_UART1_RTS__UART1_RTS 0x0 169 >; 170 }; 171 172 pinctrl_uart2: uart2grp { 173 fsl,pins = < 174 MX27_PAD_UART2_TXD__UART2_TXD 0x0 175 MX27_PAD_UART2_RXD__UART2_RXD 0x0 176 MX27_PAD_UART2_CTS__UART2_CTS 0x0 177 MX27_PAD_UART2_RTS__UART2_RTS 0x0 178 >; 179 }; 180 181 pinctrl_usbh2: usbh2grp { 182 fsl,pins = < 183 MX27_PAD_USBH2_CLK__USBH2_CLK 0x0 184 MX27_PAD_USBH2_DIR__USBH2_DIR 0x0 185 MX27_PAD_USBH2_NXT__USBH2_NXT 0x0 186 MX27_PAD_USBH2_STP__USBH2_STP 0x0 187 MX27_PAD_CSPI2_SCLK__USBH2_DATA0 0x0 188 MX27_PAD_CSPI2_MOSI__USBH2_DATA1 0x0 189 MX27_PAD_CSPI2_MISO__USBH2_DATA2 0x0 190 MX27_PAD_CSPI2_SS1__USBH2_DATA3 0x0 191 MX27_PAD_CSPI2_SS2__USBH2_DATA4 0x0 192 MX27_PAD_CSPI1_SS2__USBH2_DATA5 0x0 193 MX27_PAD_CSPI2_SS0__USBH2_DATA6 0x0 194 MX27_PAD_USBH2_DATA7__USBH2_DATA7 0x0 195 >; 196 }; 197 198 pinctrl_weim: weimgrp { 199 fsl,pins = < 200 MX27_PAD_CS4_B__CS4_B 0x0 /* CS4 */ 201 MX27_PAD_SD1_D1__GPIO5_19 0x0 /* CAN IRQ */ 202 >; 203 }; 204}; 205 206&owire { 207 pinctrl-names = "default"; 208 pinctrl-0 = <&pinctrl_owire1>; 209 status = "okay"; 210}; 211 212&pmicleds { 213 ledr1: led@3 { 214 reg = <3>; 215 label = "system:red1:user"; 216 }; 217 218 ledg1: led@4 { 219 reg = <4>; 220 label = "system:green1:user"; 221 }; 222 223 ledb1: led@5 { 224 reg = <5>; 225 label = "system:blue1:user"; 226 }; 227 228 ledr2: led@6 { 229 reg = <6>; 230 label = "system:red2:user"; 231 }; 232 233 ledg2: led@7 { 234 reg = <7>; 235 label = "system:green2:user"; 236 }; 237 238 ledb2: led@8 { 239 reg = <8>; 240 label = "system:blue2:user"; 241 }; 242 243 ledr3: led@9 { 244 reg = <9>; 245 label = "system:red3:nand"; 246 linux,default-trigger = "nand-disk"; 247 }; 248 249 ledg3: led@a { 250 reg = <0xa>; 251 label = "system:green3:live"; 252 linux,default-trigger = "heartbeat"; 253 }; 254 255 ledb3: led@b { 256 reg = <0xb>; 257 label = "system:blue3:cpu"; 258 linux,default-trigger = "cpu0"; 259 }; 260}; 261 262&sdhci2 { 263 pinctrl-names = "default"; 264 pinctrl-0 = <&pinctrl_sdhc2>; 265 bus-width = <4>; 266 cd-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>; 267 wp-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>; 268 vmmc-supply = <&vmmc1_reg>; 269 status = "okay"; 270}; 271 272&uart1 { 273 uart-has-rtscts; 274 pinctrl-names = "default"; 275 pinctrl-0 = <&pinctrl_uart1>; 276 status = "okay"; 277}; 278 279&uart2 { 280 uart-has-rtscts; 281 pinctrl-names = "default"; 282 pinctrl-0 = <&pinctrl_uart2>; 283 status = "okay"; 284}; 285 286&usbh2 { 287 pinctrl-names = "default"; 288 pinctrl-0 = <&pinctrl_usbh2>; 289 dr_mode = "host"; 290 phy_type = "ulpi"; 291 vbus-supply = <®_5v0>; 292 fsl,usbphy = <&usbphy2>; 293 disable-over-current; 294 status = "okay"; 295}; 296 297&weim { 298 pinctrl-names = "default"; 299 pinctrl-0 = <&pinctrl_weim>; 300 301 can@4,0 { 302 compatible = "nxp,sja1000"; 303 reg = <4 0x00000000 0x00000100>; 304 interrupt-parent = <&gpio5>; 305 interrupts = <19 IRQ_TYPE_EDGE_FALLING>; 306 nxp,external-clock-frequency = <16000000>; 307 nxp,tx-output-config = <0x16>; 308 nxp,no-comparator-bypass; 309 fsl,weim-cs-timing = <0x0000dcf6 0x444a0301 0x44443302>; 310 }; 311}; 312