Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+
0002 //
0003 // Copyright 2013 Freescale Semiconductor, Inc.
0004 
0005 /dts-v1/;
0006 #include <dt-bindings/gpio/gpio.h>
0007 #include <dt-bindings/input/input.h>
0008 #include "imx25.dtsi"
0009 
0010 / {
0011         model = "Freescale i.MX25 Product Development Kit";
0012         compatible = "fsl,imx25-pdk", "fsl,imx25";
0013 
0014         memory@80000000 {
0015                 device_type = "memory";
0016                 reg = <0x80000000 0x4000000>;
0017         };
0018 
0019         regulators {
0020                 compatible = "simple-bus";
0021                 #address-cells = <1>;
0022                 #size-cells = <0>;
0023 
0024                 reg_fec_3v3: regulator@0 {
0025                         compatible = "regulator-fixed";
0026                         reg = <0>;
0027                         regulator-name = "fec-3v3";
0028                         regulator-min-microvolt = <3300000>;
0029                         regulator-max-microvolt = <3300000>;
0030                         gpio = <&gpio2 3 0>;
0031                         enable-active-high;
0032                 };
0033 
0034                 reg_2p5v: regulator@1 {
0035                         compatible = "regulator-fixed";
0036                         reg = <1>;
0037                         regulator-name = "2P5V";
0038                         regulator-min-microvolt = <2500000>;
0039                         regulator-max-microvolt = <2500000>;
0040                 };
0041 
0042                 reg_3p3v: regulator@2 {
0043                         compatible = "regulator-fixed";
0044                         reg = <2>;
0045                         regulator-name = "3P3V";
0046                         regulator-min-microvolt = <3300000>;
0047                         regulator-max-microvolt = <3300000>;
0048                 };
0049 
0050                 reg_can_3v3: regulator@3 {
0051                         compatible = "regulator-fixed";
0052                         reg = <3>;
0053                         regulator-name = "can-3v3";
0054                         regulator-min-microvolt = <3300000>;
0055                         regulator-max-microvolt = <3300000>;
0056                         gpio = <&gpio4 6 0>;
0057                 };
0058         };
0059 
0060         sound {
0061                 compatible = "fsl,imx25-pdk-sgtl5000",
0062                              "fsl,imx-audio-sgtl5000";
0063                 model = "imx25-pdk-sgtl5000";
0064                 ssi-controller = <&ssi1>;
0065                 audio-codec = <&codec>;
0066                 audio-routing =
0067                         "MIC_IN", "Mic Jack",
0068                         "Mic Jack", "Mic Bias",
0069                         "Headphone Jack", "HP_OUT";
0070                 mux-int-port = <1>;
0071                 mux-ext-port = <4>;
0072         };
0073 
0074         wvga: display {
0075                 model = "CLAA057VC01CW";
0076                 bits-per-pixel = <16>;
0077                 fsl,pcr = <0xfa208b80>;
0078                 bus-width = <18>;
0079                 display-timings {
0080                         native-mode = <&wvga_timings>;
0081                         wvga_timings: 640x480 {
0082                                 hactive = <640>;
0083                                 vactive = <480>;
0084                                 hback-porch = <45>;
0085                                 hfront-porch = <114>;
0086                                 hsync-len = <1>;
0087                                 vback-porch = <33>;
0088                                 vfront-porch = <11>;
0089                                 vsync-len = <1>;
0090                                 clock-frequency = <25200000>;
0091                         };
0092                 };
0093         };
0094 };
0095 
0096 &audmux {
0097         pinctrl-names = "default";
0098         pinctrl-0 = <&pinctrl_audmux>;
0099         status = "okay";
0100 };
0101 
0102 &can1 {
0103         pinctrl-names = "default";
0104         pinctrl-0 = <&pinctrl_can1>;
0105         xceiver-supply = <&reg_can_3v3>;
0106         status = "okay";
0107 };
0108 
0109 &esdhc1 {
0110         pinctrl-names = "default";
0111         pinctrl-0 = <&pinctrl_esdhc1>;
0112         cd-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
0113         wp-gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>;
0114         status = "okay";
0115 };
0116 
0117 &fec {
0118         phy-mode = "rmii";
0119         pinctrl-names = "default";
0120         pinctrl-0 = <&pinctrl_fec>;
0121         phy-supply = <&reg_fec_3v3>;
0122         phy-reset-gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;
0123         status = "okay";
0124 };
0125 
0126 &i2c1 {
0127         clock-frequency = <100000>;
0128         pinctrl-names = "default";
0129         pinctrl-0 = <&pinctrl_i2c1>;
0130         status = "okay";
0131 
0132         codec: sgtl5000@a {
0133                 compatible = "fsl,sgtl5000";
0134                 reg = <0x0a>;
0135                 clocks = <&clks 129>;
0136                 VDDA-supply = <&reg_2p5v>;
0137                 VDDIO-supply = <&reg_3p3v>;
0138         };
0139 };
0140 
0141 &iomuxc {
0142         imx25-pdk {
0143                 pinctrl_audmux: audmuxgrp {
0144                         fsl,pins = <
0145                                 MX25_PAD_RW__AUD4_TXFS                  0xe0
0146                                 MX25_PAD_OE__AUD4_TXC                   0xe0
0147                                 MX25_PAD_EB0__AUD4_TXD                  0xe0
0148                                 MX25_PAD_EB1__AUD4_RXD                  0xe0
0149                         >;
0150                 };
0151 
0152                 pinctrl_can1: can1grp {
0153                         fsl,pins = <
0154                                 MX25_PAD_GPIO_A__CAN1_TX                0x0
0155                                 MX25_PAD_GPIO_B__CAN1_RX                0x0
0156                                 MX25_PAD_D14__GPIO_4_6                  0x80000000
0157                         >;
0158                 };
0159 
0160                 pinctrl_esdhc1: esdhc1grp {
0161                         fsl,pins = <
0162                                 MX25_PAD_SD1_CMD__ESDHC1_CMD            0x80000000
0163                                 MX25_PAD_SD1_CLK__ESDHC1_CLK            0x80000000
0164                                 MX25_PAD_SD1_DATA0__ESDHC1_DAT0         0x80000000
0165                                 MX25_PAD_SD1_DATA1__ESDHC1_DAT1         0x80000000
0166                                 MX25_PAD_SD1_DATA2__ESDHC1_DAT2         0x80000000
0167                                 MX25_PAD_SD1_DATA3__ESDHC1_DAT3         0x80000000
0168                                 MX25_PAD_A14__GPIO_2_0                  0x80000000
0169                                 MX25_PAD_A15__GPIO_2_1                  0x80000000
0170                         >;
0171                 };
0172 
0173                 pinctrl_fec: fecgrp {
0174                         fsl,pins = <
0175                                 MX25_PAD_FEC_MDC__FEC_MDC               0x80000000
0176                                 MX25_PAD_FEC_MDIO__FEC_MDIO             0x400001e0
0177                                 MX25_PAD_FEC_TDATA0__FEC_TDATA0         0x80000000
0178                                 MX25_PAD_FEC_TDATA1__FEC_TDATA1         0x80000000
0179                                 MX25_PAD_FEC_TX_EN__FEC_TX_EN           0x80000000
0180                                 MX25_PAD_FEC_RDATA0__FEC_RDATA0         0x80000000
0181                                 MX25_PAD_FEC_RDATA1__FEC_RDATA1         0x80000000
0182                                 MX25_PAD_FEC_RX_DV__FEC_RX_DV           0x80000000
0183                                 MX25_PAD_FEC_TX_CLK__FEC_TX_CLK         0x1c0
0184                                 MX25_PAD_A17__GPIO_2_3                  0x80000000
0185                                 MX25_PAD_D12__GPIO_4_8                  0x80000000
0186                         >;
0187                 };
0188 
0189                 pinctrl_i2c1: i2c1grp {
0190                         fsl,pins = <
0191                                 MX25_PAD_I2C1_CLK__I2C1_CLK             0x80000000
0192                                 MX25_PAD_I2C1_DAT__I2C1_DAT             0x80000000
0193                         >;
0194                 };
0195 
0196                 pinctrl_kpp: kppgrp {
0197                         fsl,pins = <
0198                                 MX25_PAD_KPP_ROW0__KPP_ROW0     0x80000000
0199                                 MX25_PAD_KPP_ROW1__KPP_ROW1     0x80000000
0200                                 MX25_PAD_KPP_ROW2__KPP_ROW2     0x80000000
0201                                 MX25_PAD_KPP_ROW3__KPP_ROW3     0x80000000
0202                                 MX25_PAD_KPP_COL0__KPP_COL0     0x80000000
0203                                 MX25_PAD_KPP_COL1__KPP_COL1     0x80000000
0204                                 MX25_PAD_KPP_COL2__KPP_COL2     0x80000000
0205                                 MX25_PAD_KPP_COL3__KPP_COL3     0x80000000
0206                         >;
0207                 };
0208 
0209                 pinctrl_lcd: lcdgrp {
0210                         fsl,pins = <
0211                                 MX25_PAD_LD0__LD0               0xe0
0212                                 MX25_PAD_LD1__LD1               0xe0
0213                                 MX25_PAD_LD2__LD2               0xe0
0214                                 MX25_PAD_LD3__LD3               0xe0
0215                                 MX25_PAD_LD4__LD4               0xe0
0216                                 MX25_PAD_LD5__LD5               0xe0
0217                                 MX25_PAD_LD6__LD6               0xe0
0218                                 MX25_PAD_LD7__LD7               0xe0
0219                                 MX25_PAD_LD8__LD8               0xe0
0220                                 MX25_PAD_LD9__LD9               0xe0
0221                                 MX25_PAD_LD10__LD10             0xe0
0222                                 MX25_PAD_LD11__LD11             0xe0
0223                                 MX25_PAD_LD12__LD12             0xe0
0224                                 MX25_PAD_LD13__LD13             0xe0
0225                                 MX25_PAD_LD14__LD14             0xe0
0226                                 MX25_PAD_LD15__LD15             0xe0
0227                                 MX25_PAD_GPIO_E__LD16           0xe0
0228                                 MX25_PAD_GPIO_F__LD17           0xe0
0229                                 MX25_PAD_HSYNC__HSYNC           0xe0
0230                                 MX25_PAD_VSYNC__VSYNC           0xe0
0231                                 MX25_PAD_LSCLK__LSCLK           0xe0
0232                                 MX25_PAD_OE_ACD__OE_ACD         0xe0
0233                                 MX25_PAD_CONTRAST__CONTRAST     0xe0
0234                         >;
0235                 };
0236 
0237                 pinctrl_uart1: uart1grp {
0238                         fsl,pins = <
0239                                 MX25_PAD_UART1_RTS__UART1_RTS           0xe0
0240                                 MX25_PAD_UART1_CTS__UART1_CTS           0xe0
0241                                 MX25_PAD_UART1_TXD__UART1_TXD           0x80000000
0242                                 MX25_PAD_UART1_RXD__UART1_RXD           0xc0
0243                         >;
0244                 };
0245         };
0246 };
0247 
0248 &lcdc {
0249         display = <&wvga>;
0250         fsl,lpccr = <0x00a903ff>;
0251         fsl,lscr1 = <0x00120300>;
0252         fsl,dmacr = <0x00020010>;
0253         pinctrl-names = "default";
0254         pinctrl-0 = <&pinctrl_lcd>;
0255         status = "okay";
0256 };
0257 
0258 &nfc {
0259         nand-on-flash-bbt;
0260         status = "okay";
0261 };
0262 
0263 &kpp {
0264         pinctrl-names = "default";
0265         pinctrl-0 = <&pinctrl_kpp>;
0266         linux,keymap = <
0267                         MATRIX_KEY(0x0, 0x0, KEY_UP)
0268                         MATRIX_KEY(0x0, 0x1, KEY_DOWN)
0269                         MATRIX_KEY(0x0, 0x2, KEY_VOLUMEDOWN)
0270                         MATRIX_KEY(0x0, 0x3, KEY_HOME)
0271                         MATRIX_KEY(0x1, 0x0, KEY_RIGHT)
0272                         MATRIX_KEY(0x1, 0x1, KEY_LEFT)
0273                         MATRIX_KEY(0x1, 0x2, KEY_ENTER)
0274                         MATRIX_KEY(0x1, 0x3, KEY_VOLUMEUP)
0275                         MATRIX_KEY(0x2, 0x0, KEY_F6)
0276                         MATRIX_KEY(0x2, 0x1, KEY_F8)
0277                         MATRIX_KEY(0x2, 0x2, KEY_F9)
0278                         MATRIX_KEY(0x2, 0x3, KEY_F10)
0279                         MATRIX_KEY(0x3, 0x0, KEY_F1)
0280                         MATRIX_KEY(0x3, 0x1, KEY_F2)
0281                         MATRIX_KEY(0x3, 0x2, KEY_F3)
0282                         MATRIX_KEY(0x3, 0x2, KEY_POWER)
0283         >;
0284         status = "okay";
0285 };
0286 
0287 &ssi1 {
0288         status = "okay";
0289 };
0290 
0291 &tsc {
0292         status = "okay";
0293 };
0294 
0295 &tscadc {
0296         status = "okay";
0297 };
0298 
0299 &uart1 {
0300         pinctrl-names = "default";
0301         pinctrl-0 = <&pinctrl_uart1>;
0302         uart-has-rtscts;
0303         status = "okay";
0304 };
0305 
0306 &usbhost1 {
0307         status = "okay";
0308 };
0309 
0310 &usbotg {
0311         external-vbus-divider;
0312         status = "okay";
0313 };