0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 */
0004
0005 #include "imx27-phytec-phycore-som.dtsi"
0006
0007 / {
0008 model = "Phytec pcm970";
0009 compatible = "phytec,imx27-pcm970", "phytec,imx27-pcm038", "fsl,imx27";
0010
0011 chosen {
0012 stdout-path = &uart1;
0013 };
0014
0015 display0: LQ035Q7 {
0016 model = "Sharp-LQ035Q7";
0017 bits-per-pixel = <16>;
0018 fsl,pcr = <0xf00080c0>;
0019
0020 display-timings {
0021 native-mode = <&timing0>;
0022 timing0: 240x320 {
0023 clock-frequency = <5500000>;
0024 hactive = <240>;
0025 vactive = <320>;
0026 hback-porch = <5>;
0027 hsync-len = <7>;
0028 hfront-porch = <16>;
0029 vback-porch = <7>;
0030 vsync-len = <1>;
0031 vfront-porch = <9>;
0032 pixelclk-active = <1>;
0033 hsync-active = <1>;
0034 vsync-active = <1>;
0035 de-active = <0>;
0036 };
0037 };
0038 };
0039
0040 regulators {
0041 regulator@2 {
0042 compatible = "regulator-fixed";
0043 pinctrl-names = "default";
0044 pinctrl-0 = <&pinctrl_csien>;
0045 reg = <2>;
0046 regulator-name = "CSI_EN";
0047 regulator-min-microvolt = <3300000>;
0048 regulator-max-microvolt = <3300000>;
0049 gpio = <&gpio2 24 GPIO_ACTIVE_LOW>;
0050 regulator-always-on;
0051 };
0052 };
0053
0054 usbphy {
0055 usbphy2: usbphy@2 {
0056 compatible = "usb-nop-xceiv";
0057 reg = <2>;
0058 vcc-supply = <®_5v0>;
0059 clocks = <&clks IMX27_CLK_DUMMY>;
0060 clock-names = "main_clk";
0061 #phy-cells = <0>;
0062 };
0063 };
0064 };
0065
0066 &cspi1 {
0067 pinctrl-0 = <&pinctrl_cspi1>, <&pinctrl_cspi1cs1>;
0068 cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>,
0069 <&gpio4 27 GPIO_ACTIVE_LOW>;
0070 };
0071
0072 &fb {
0073 pinctrl-names = "default";
0074 pinctrl-0 = <&pinctrl_imxfb1>;
0075 display = <&display0>;
0076 lcd-supply = <®_5v0>;
0077 fsl,dmacr = <0x00020010>;
0078 fsl,lscr1 = <0x00120300>;
0079 fsl,lpccr = <0x00a903ff>;
0080 status = "okay";
0081 };
0082
0083 &i2c1 {
0084 clock-frequency = <400000>;
0085 pinctrl-names = "default";
0086 pinctrl-0 = <&pinctrl_i2c1>;
0087 status = "okay";
0088
0089 camgpio: pca9536@41 {
0090 compatible = "nxp,pca9536";
0091 reg = <0x41>;
0092 gpio-controller;
0093 #gpio-cells = <2>;
0094 };
0095 };
0096
0097 &iomuxc {
0098 imx27_phycore_rdk {
0099 pinctrl_csien: csiengrp {
0100 fsl,pins = <
0101 MX27_PAD_USB_OC_B__GPIO2_24 0x0
0102 >;
0103 };
0104
0105 pinctrl_cspi1cs1: cspi1cs1grp {
0106 fsl,pins = <
0107 MX27_PAD_CSPI1_SS1__GPIO4_27 0x0
0108 >;
0109 };
0110
0111 pinctrl_imxfb1: imxfbgrp {
0112 fsl,pins = <
0113 MX27_PAD_LD0__LD0 0x0
0114 MX27_PAD_LD1__LD1 0x0
0115 MX27_PAD_LD2__LD2 0x0
0116 MX27_PAD_LD3__LD3 0x0
0117 MX27_PAD_LD4__LD4 0x0
0118 MX27_PAD_LD5__LD5 0x0
0119 MX27_PAD_LD6__LD6 0x0
0120 MX27_PAD_LD7__LD7 0x0
0121 MX27_PAD_LD8__LD8 0x0
0122 MX27_PAD_LD9__LD9 0x0
0123 MX27_PAD_LD10__LD10 0x0
0124 MX27_PAD_LD11__LD11 0x0
0125 MX27_PAD_LD12__LD12 0x0
0126 MX27_PAD_LD13__LD13 0x0
0127 MX27_PAD_LD14__LD14 0x0
0128 MX27_PAD_LD15__LD15 0x0
0129 MX27_PAD_LD16__LD16 0x0
0130 MX27_PAD_LD17__LD17 0x0
0131 MX27_PAD_CLS__CLS 0x0
0132 MX27_PAD_CONTRAST__CONTRAST 0x0
0133 MX27_PAD_LSCLK__LSCLK 0x0
0134 MX27_PAD_OE_ACD__OE_ACD 0x0
0135 MX27_PAD_PS__PS 0x0
0136 MX27_PAD_REV__REV 0x0
0137 MX27_PAD_SPL_SPR__SPL_SPR 0x0
0138 MX27_PAD_HSYNC__HSYNC 0x0
0139 MX27_PAD_VSYNC__VSYNC 0x0
0140 >;
0141 };
0142
0143 pinctrl_i2c1: i2c1grp {
0144 /* Add pullup to DATA line */
0145 fsl,pins = <
0146 MX27_PAD_I2C_DATA__I2C_DATA 0x1
0147 MX27_PAD_I2C_CLK__I2C_CLK 0x0
0148 >;
0149 };
0150
0151 pinctrl_owire1: owire1grp {
0152 fsl,pins = <
0153 MX27_PAD_RTCK__OWIRE 0x0
0154 >;
0155 };
0156
0157 pinctrl_sdhc2: sdhc2grp {
0158 fsl,pins = <
0159 MX27_PAD_SD2_CLK__SD2_CLK 0x0
0160 MX27_PAD_SD2_CMD__SD2_CMD 0x0
0161 MX27_PAD_SD2_D0__SD2_D0 0x0
0162 MX27_PAD_SD2_D1__SD2_D1 0x0
0163 MX27_PAD_SD2_D2__SD2_D2 0x0
0164 MX27_PAD_SD2_D3__SD2_D3 0x0
0165 MX27_PAD_SSI3_FS__GPIO3_28 0x0 /* WP */
0166 MX27_PAD_SSI3_RXDAT__GPIO3_29 0x0 /* CD */
0167 >;
0168 };
0169
0170 pinctrl_uart1: uart1grp {
0171 fsl,pins = <
0172 MX27_PAD_UART1_TXD__UART1_TXD 0x0
0173 MX27_PAD_UART1_RXD__UART1_RXD 0x0
0174 MX27_PAD_UART1_CTS__UART1_CTS 0x0
0175 MX27_PAD_UART1_RTS__UART1_RTS 0x0
0176 >;
0177 };
0178
0179 pinctrl_uart2: uart2grp {
0180 fsl,pins = <
0181 MX27_PAD_UART2_TXD__UART2_TXD 0x0
0182 MX27_PAD_UART2_RXD__UART2_RXD 0x0
0183 MX27_PAD_UART2_CTS__UART2_CTS 0x0
0184 MX27_PAD_UART2_RTS__UART2_RTS 0x0
0185 >;
0186 };
0187
0188 pinctrl_usbh2: usbh2grp {
0189 fsl,pins = <
0190 MX27_PAD_USBH2_CLK__USBH2_CLK 0x0
0191 MX27_PAD_USBH2_DIR__USBH2_DIR 0x0
0192 MX27_PAD_USBH2_NXT__USBH2_NXT 0x0
0193 MX27_PAD_USBH2_STP__USBH2_STP 0x0
0194 MX27_PAD_CSPI2_SCLK__USBH2_DATA0 0x0
0195 MX27_PAD_CSPI2_MOSI__USBH2_DATA1 0x0
0196 MX27_PAD_CSPI2_MISO__USBH2_DATA2 0x0
0197 MX27_PAD_CSPI2_SS1__USBH2_DATA3 0x0
0198 MX27_PAD_CSPI2_SS2__USBH2_DATA4 0x0
0199 MX27_PAD_CSPI1_SS2__USBH2_DATA5 0x0
0200 MX27_PAD_CSPI2_SS0__USBH2_DATA6 0x0
0201 MX27_PAD_USBH2_DATA7__USBH2_DATA7 0x0
0202 >;
0203 };
0204
0205 pinctrl_weim: weimgrp {
0206 fsl,pins = <
0207 MX27_PAD_CS4_B__CS4_B 0x0 /* CS4 */
0208 MX27_PAD_SD1_D1__GPIO5_19 0x0 /* CAN IRQ */
0209 >;
0210 };
0211 };
0212 };
0213
0214 &owire {
0215 pinctrl-names = "default";
0216 pinctrl-0 = <&pinctrl_owire1>;
0217 status = "okay";
0218 };
0219
0220 &pmicleds {
0221 ledr1: led@3 {
0222 reg = <3>;
0223 label = "system:red1:user";
0224 };
0225
0226 ledg1: led@4 {
0227 reg = <4>;
0228 label = "system:green1:user";
0229 };
0230
0231 ledb1: led@5 {
0232 reg = <5>;
0233 label = "system:blue1:user";
0234 };
0235
0236 ledr2: led@6 {
0237 reg = <6>;
0238 label = "system:red2:user";
0239 };
0240
0241 ledg2: led@7 {
0242 reg = <7>;
0243 label = "system:green2:user";
0244 };
0245
0246 ledb2: led@8 {
0247 reg = <8>;
0248 label = "system:blue2:user";
0249 };
0250
0251 ledr3: led@9 {
0252 reg = <9>;
0253 label = "system:red3:nand";
0254 linux,default-trigger = "nand-disk";
0255 };
0256
0257 ledg3: led@10 {
0258 reg = <10>;
0259 label = "system:green3:live";
0260 linux,default-trigger = "heartbeat";
0261 };
0262
0263 ledb3: led@11 {
0264 reg = <11>;
0265 label = "system:blue3:cpu";
0266 linux,default-trigger = "cpu0";
0267 };
0268 };
0269
0270 &sdhci2 {
0271 pinctrl-names = "default";
0272 pinctrl-0 = <&pinctrl_sdhc2>;
0273 bus-width = <4>;
0274 cd-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
0275 wp-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
0276 vmmc-supply = <&vmmc1_reg>;
0277 status = "okay";
0278 };
0279
0280 &uart1 {
0281 uart-has-rtscts;
0282 pinctrl-names = "default";
0283 pinctrl-0 = <&pinctrl_uart1>;
0284 status = "okay";
0285 };
0286
0287 &uart2 {
0288 uart-has-rtscts;
0289 pinctrl-names = "default";
0290 pinctrl-0 = <&pinctrl_uart2>;
0291 status = "okay";
0292 };
0293
0294 &usbh2 {
0295 pinctrl-names = "default";
0296 pinctrl-0 = <&pinctrl_usbh2>;
0297 dr_mode = "host";
0298 phy_type = "ulpi";
0299 vbus-supply = <®_5v0>;
0300 fsl,usbphy = <&usbphy2>;
0301 disable-over-current;
0302 status = "okay";
0303 };
0304
0305 &weim {
0306 pinctrl-names = "default";
0307 pinctrl-0 = <&pinctrl_weim>;
0308
0309 can@4,0 {
0310 compatible = "nxp,sja1000";
0311 reg = <4 0x00000000 0x00000100>;
0312 interrupt-parent = <&gpio5>;
0313 interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
0314 nxp,external-clock-frequency = <16000000>;
0315 nxp,tx-output-config = <0x16>;
0316 nxp,no-comparator-bypass;
0317 fsl,weim-cs-timing = <0x0000dcf6 0x444a0301 0x44443302>;
0318 };
0319 };