0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 //
0003 // Copyright 2013 Freescale Semiconductor, Inc.
0004
0005 /dts-v1/;
0006 #include "vf610.dtsi"
0007
0008 / {
0009 model = "VF610 Tower Board";
0010 compatible = "fsl,vf610-twr", "fsl,vf610";
0011
0012 chosen {
0013 bootargs = "console=ttyLP1,115200";
0014 };
0015
0016 memory@80000000 {
0017 device_type = "memory";
0018 reg = <0x80000000 0x8000000>;
0019 };
0020
0021 audio_ext: mclk_osc {
0022 compatible = "fixed-clock";
0023 #clock-cells = <0>;
0024 clock-frequency = <24576000>;
0025 };
0026
0027 enet_ext: eth_osc {
0028 compatible = "fixed-clock";
0029 #clock-cells = <0>;
0030 clock-frequency = <50000000>;
0031 };
0032
0033 regulators {
0034 compatible = "simple-bus";
0035 #address-cells = <1>;
0036 #size-cells = <0>;
0037
0038 reg_3p3v: regulator@0 {
0039 compatible = "regulator-fixed";
0040 reg = <0>;
0041 regulator-name = "3P3V";
0042 regulator-min-microvolt = <3300000>;
0043 regulator-max-microvolt = <3300000>;
0044 regulator-always-on;
0045 };
0046
0047 reg_vcc_3v3_mcu: regulator@1 {
0048 compatible = "regulator-fixed";
0049 reg = <1>;
0050 regulator-name = "vcc_3v3_mcu";
0051 regulator-min-microvolt = <3300000>;
0052 regulator-max-microvolt = <3300000>;
0053 };
0054 };
0055
0056 sound {
0057 compatible = "simple-audio-card";
0058 simple-audio-card,format = "i2s";
0059 simple-audio-card,widgets =
0060 "Microphone", "Microphone Jack",
0061 "Headphone", "Headphone Jack",
0062 "Speaker", "Speaker Ext",
0063 "Line", "Line In Jack";
0064 simple-audio-card,routing =
0065 "MIC_IN", "Microphone Jack",
0066 "Microphone Jack", "Mic Bias",
0067 "LINE_IN", "Line In Jack",
0068 "Headphone Jack", "HP_OUT",
0069 "Speaker Ext", "LINE_OUT";
0070
0071 simple-audio-card,cpu {
0072 sound-dai = <&sai2>;
0073 frame-master;
0074 bitclock-master;
0075 };
0076
0077 simple-audio-card,codec {
0078 sound-dai = <&codec>;
0079 frame-master;
0080 bitclock-master;
0081 };
0082 };
0083 };
0084
0085 &adc0 {
0086 pinctrl-names = "default";
0087 pinctrl-0 = <&pinctrl_adc0_ad5>;
0088 vref-supply = <®_vcc_3v3_mcu>;
0089 status = "okay";
0090 };
0091
0092 &clks {
0093 clocks = <&sxosc>, <&fxosc>, <&enet_ext>, <&audio_ext>;
0094 clock-names = "sxosc", "fxosc", "enet_ext", "audio_ext";
0095 assigned-clocks = <&clks VF610_CLK_ENET_SEL>,
0096 <&clks VF610_CLK_ENET_TS_SEL>;
0097 assigned-clock-parents = <&clks VF610_CLK_ENET_EXT>,
0098 <&clks VF610_CLK_ENET_EXT>;
0099 };
0100
0101 &dspi0 {
0102 bus-num = <0>;
0103 pinctrl-names = "default";
0104 pinctrl-0 = <&pinctrl_dspi0>;
0105 status = "okay";
0106
0107 sflash: at26df081a@0 {
0108 #address-cells = <1>;
0109 #size-cells = <1>;
0110 compatible = "atmel,at26df081a";
0111 spi-max-frequency = <16000000>;
0112 spi-cpol;
0113 spi-cpha;
0114 reg = <0>;
0115 };
0116 };
0117
0118 &edma0 {
0119 status = "okay";
0120 };
0121
0122 &esdhc1 {
0123 pinctrl-names = "default";
0124 pinctrl-0 = <&pinctrl_esdhc1>;
0125 bus-width = <4>;
0126 cd-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;
0127 status = "okay";
0128 };
0129
0130 &fec0 {
0131 phy-mode = "rmii";
0132 phy-handle = <ðphy0>;
0133 pinctrl-names = "default";
0134 pinctrl-0 = <&pinctrl_fec0>;
0135 status = "okay";
0136
0137 mdio {
0138 #address-cells = <1>;
0139 #size-cells = <0>;
0140
0141 ethphy0: ethernet-phy@0 {
0142 reg = <0>;
0143 };
0144
0145 ethphy1: ethernet-phy@1 {
0146 reg = <1>;
0147 };
0148 };
0149 };
0150
0151 &fec1 {
0152 phy-mode = "rmii";
0153 phy-handle = <ðphy1>;
0154 pinctrl-names = "default";
0155 pinctrl-0 = <&pinctrl_fec1>;
0156 status = "okay";
0157 };
0158
0159 &i2c0 {
0160 clock-frequency = <100000>;
0161 pinctrl-names = "default";
0162 pinctrl-0 = <&pinctrl_i2c0>;
0163 status = "okay";
0164
0165 codec: sgtl5000@a {
0166 #sound-dai-cells = <0>;
0167 compatible = "fsl,sgtl5000";
0168 reg = <0x0a>;
0169 VDDA-supply = <®_3p3v>;
0170 VDDIO-supply = <®_3p3v>;
0171 clocks = <&clks VF610_CLK_SAI2>;
0172 };
0173 };
0174
0175 &iomuxc {
0176 vf610-twr {
0177 pinctrl_adc0_ad5: adc0ad5grp {
0178 fsl,pins = <
0179 VF610_PAD_PTC30__ADC0_SE5 0xa1
0180 >;
0181 };
0182
0183 pinctrl_dspi0: dspi0grp {
0184 fsl,pins = <
0185 VF610_PAD_PTB19__DSPI0_CS0 0x1182
0186 VF610_PAD_PTB20__DSPI0_SIN 0x1181
0187 VF610_PAD_PTB21__DSPI0_SOUT 0x1182
0188 VF610_PAD_PTB22__DSPI0_SCK 0x1182
0189 >;
0190 };
0191
0192 pinctrl_esdhc1: esdhc1grp {
0193 fsl,pins = <
0194 VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
0195 VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
0196 VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
0197 VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
0198 VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
0199 VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
0200 VF610_PAD_PTA7__GPIO_134 0x219d
0201 >;
0202 };
0203
0204 pinctrl_fec0: fec0grp {
0205 fsl,pins = <
0206 VF610_PAD_PTA6__RMII_CLKIN 0x30d1
0207 VF610_PAD_PTC0__ENET_RMII0_MDC 0x30d3
0208 VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30d1
0209 VF610_PAD_PTC2__ENET_RMII0_CRS 0x30d1
0210 VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30d1
0211 VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30d1
0212 VF610_PAD_PTC5__ENET_RMII0_RXER 0x30d1
0213 VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30d2
0214 VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30d2
0215 VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30d2
0216 >;
0217 };
0218
0219 pinctrl_fec1: fec1grp {
0220 fsl,pins = <
0221 VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2
0222 VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3
0223 VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1
0224 VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30d1
0225 VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1
0226 VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1
0227 VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2
0228 VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2
0229 VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2
0230 >;
0231 };
0232
0233 pinctrl_i2c0: i2c0grp {
0234 fsl,pins = <
0235 VF610_PAD_PTB14__I2C0_SCL 0x30d3
0236 VF610_PAD_PTB15__I2C0_SDA 0x30d3
0237 >;
0238 };
0239
0240 pinctrl_nfc: nfcgrp {
0241 fsl,pins = <
0242 VF610_PAD_PTD31__NF_IO15 0x28df
0243 VF610_PAD_PTD30__NF_IO14 0x28df
0244 VF610_PAD_PTD29__NF_IO13 0x28df
0245 VF610_PAD_PTD28__NF_IO12 0x28df
0246 VF610_PAD_PTD27__NF_IO11 0x28df
0247 VF610_PAD_PTD26__NF_IO10 0x28df
0248 VF610_PAD_PTD25__NF_IO9 0x28df
0249 VF610_PAD_PTD24__NF_IO8 0x28df
0250 VF610_PAD_PTD23__NF_IO7 0x28df
0251 VF610_PAD_PTD22__NF_IO6 0x28df
0252 VF610_PAD_PTD21__NF_IO5 0x28df
0253 VF610_PAD_PTD20__NF_IO4 0x28df
0254 VF610_PAD_PTD19__NF_IO3 0x28df
0255 VF610_PAD_PTD18__NF_IO2 0x28df
0256 VF610_PAD_PTD17__NF_IO1 0x28df
0257 VF610_PAD_PTD16__NF_IO0 0x28df
0258 VF610_PAD_PTB24__NF_WE_B 0x28c2
0259 VF610_PAD_PTB25__NF_CE0_B 0x28c2
0260 VF610_PAD_PTB27__NF_RE_B 0x28c2
0261 VF610_PAD_PTC26__NF_RB_B 0x283d
0262 VF610_PAD_PTC27__NF_ALE 0x28c2
0263 VF610_PAD_PTC28__NF_CLE 0x28c2
0264 >;
0265 };
0266
0267 pinctrl_pwm0: pwm0grp {
0268 fsl,pins = <
0269 VF610_PAD_PTB0__FTM0_CH0 0x1582
0270 VF610_PAD_PTB1__FTM0_CH1 0x1582
0271 VF610_PAD_PTB2__FTM0_CH2 0x1582
0272 VF610_PAD_PTB3__FTM0_CH3 0x1582
0273 >;
0274 };
0275
0276 pinctrl_sai2: sai2grp {
0277 fsl,pins = <
0278 VF610_PAD_PTA16__SAI2_TX_BCLK 0x02ed
0279 VF610_PAD_PTA18__SAI2_TX_DATA 0x02ee
0280 VF610_PAD_PTA19__SAI2_TX_SYNC 0x02ed
0281 VF610_PAD_PTA21__SAI2_RX_BCLK 0x02ed
0282 VF610_PAD_PTA22__SAI2_RX_DATA 0x02ed
0283 VF610_PAD_PTA23__SAI2_RX_SYNC 0x02ed
0284 VF610_PAD_PTB18__EXT_AUDIO_MCLK 0x02ed
0285 >;
0286 };
0287
0288 pinctrl_uart1: uart1grp {
0289 fsl,pins = <
0290 VF610_PAD_PTB4__UART1_TX 0x21a2
0291 VF610_PAD_PTB5__UART1_RX 0x21a1
0292 >;
0293 };
0294
0295 pinctrl_uart2: uart2grp {
0296 fsl,pins = <
0297 VF610_PAD_PTB6__UART2_TX 0x21a2
0298 VF610_PAD_PTB7__UART2_RX 0x21a1
0299 >;
0300 };
0301 };
0302 };
0303
0304 &nfc {
0305 assigned-clocks = <&clks VF610_CLK_NFC>;
0306 assigned-clock-rates = <33000000>;
0307 pinctrl-names = "default";
0308 pinctrl-0 = <&pinctrl_nfc>;
0309 status = "okay";
0310
0311 nand@0 {
0312 compatible = "fsl,vf610-nfc-nandcs";
0313 reg = <0>;
0314 #address-cells = <1>;
0315 #size-cells = <1>;
0316 nand-bus-width = <16>;
0317 nand-ecc-mode = "hw";
0318 nand-ecc-strength = <24>;
0319 nand-ecc-step-size = <2048>;
0320 nand-on-flash-bbt;
0321 };
0322 };
0323
0324 &pwm0 {
0325 pinctrl-names = "default";
0326 pinctrl-0 = <&pinctrl_pwm0>;
0327 status = "okay";
0328 };
0329
0330 &sai2 {
0331 #sound-dai-cells = <0>;
0332 pinctrl-names = "default";
0333 pinctrl-0 = <&pinctrl_sai2>;
0334 status = "okay";
0335 };
0336
0337 &uart1 {
0338 pinctrl-names = "default";
0339 pinctrl-0 = <&pinctrl_uart1>;
0340 status = "okay";
0341 };
0342
0343 &uart2 {
0344 pinctrl-names = "default";
0345 pinctrl-0 = <&pinctrl_uart2>;
0346 status = "okay";
0347 };
0348
0349 &usbdev0 {
0350 disable-over-current;
0351 status = "okay";
0352 };
0353
0354 &usbh1 {
0355 disable-over-current;
0356 status = "okay";
0357 };
0358
0359 &usbmisc0 {
0360 status = "okay";
0361 };
0362
0363 &usbmisc1 {
0364 status = "okay";
0365 };
0366
0367 &usbphy0 {
0368 status = "okay";
0369 };
0370
0371 &usbphy1 {
0372 status = "okay";
0373 };