1// SPDX-License-Identifier: GPL-2.0 2/dts-v1/; 3#include "imx28.dtsi" 4 5/ { 6 model = "Bluegiga APX4 Development Kit"; 7 compatible = "bluegiga,apx4devkit", "fsl,imx28"; 8 9 memory@40000000 { 10 device_type = "memory"; 11 reg = <0x40000000 0x04000000>; 12 }; 13 14 apb@80000000 { 15 apbh@80000000 { 16 nand-controller@8000c000 { 17 pinctrl-names = "default"; 18 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; 19 status = "okay"; 20 }; 21 22 ssp0: spi@80010000 { 23 compatible = "fsl,imx28-mmc"; 24 pinctrl-names = "default"; 25 pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>; 26 bus-width = <4>; 27 status = "okay"; 28 }; 29 30 ssp2: spi@80014000 { 31 compatible = "fsl,imx28-mmc"; 32 pinctrl-names = "default"; 33 pinctrl-0 = <&mmc2_4bit_pins_apx4 &mmc2_sck_cfg_apx4>; 34 bus-width = <4>; 35 status = "okay"; 36 }; 37 38 pinctrl@80018000 { 39 pinctrl-names = "default"; 40 pinctrl-0 = <&hog_pins_a>; 41 42 hog_pins_a: hog@0 { 43 reg = <0>; 44 fsl,pinmux-ids = < 45 MX28_PAD_GPMI_CE1N__GPIO_0_17 46 MX28_PAD_GPMI_RDY1__GPIO_0_21 47 MX28_PAD_SSP2_MISO__GPIO_2_18 48 MX28_PAD_SSP2_SS0__AUART3_TX /* was: 0x2131 - MX28_PAD_SSP2_SS0__GPIO_2_19 */ 49 MX28_PAD_PWM3__GPIO_3_28 50 MX28_PAD_LCD_RESET__GPIO_3_30 51 MX28_PAD_JTAG_RTCK__GPIO_4_20 52 >; 53 fsl,drive-strength = <MXS_DRIVE_4mA>; 54 fsl,voltage = <MXS_VOLTAGE_HIGH>; 55 fsl,pull-up = <MXS_PULL_DISABLE>; 56 }; 57 58 lcdif_pins_apx4: lcdif-apx4@0 { 59 reg = <0>; 60 fsl,pinmux-ids = < 61 MX28_PAD_LCD_RD_E__LCD_VSYNC 62 MX28_PAD_LCD_WR_RWN__LCD_HSYNC 63 MX28_PAD_LCD_RS__LCD_DOTCLK 64 MX28_PAD_LCD_CS__LCD_ENABLE 65 >; 66 fsl,drive-strength = <MXS_DRIVE_4mA>; 67 fsl,voltage = <MXS_VOLTAGE_HIGH>; 68 fsl,pull-up = <MXS_PULL_DISABLE>; 69 }; 70 71 mmc2_4bit_pins_apx4: mmc2-4bit-apx4@0 { 72 reg = <0>; 73 fsl,pinmux-ids = < 74 MX28_PAD_SSP0_DATA4__SSP2_D0 75 MX28_PAD_SSP0_DATA5__SSP2_D3 76 MX28_PAD_SSP0_DATA6__SSP2_CMD 77 MX28_PAD_SSP0_DATA7__SSP2_SCK 78 MX28_PAD_SSP2_SS1__SSP2_D1 79 MX28_PAD_SSP2_SS2__SSP2_D2 80 >; 81 fsl,drive-strength = <MXS_DRIVE_8mA>; 82 fsl,voltage = <MXS_VOLTAGE_HIGH>; 83 fsl,pull-up = <MXS_PULL_ENABLE>; 84 }; 85 86 mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 { 87 reg = <0>; 88 fsl,pinmux-ids = < 89 MX28_PAD_SSP0_DATA7__SSP2_SCK 90 >; 91 fsl,drive-strength = <MXS_DRIVE_12mA>; 92 fsl,pull-up = <MXS_PULL_DISABLE>; 93 }; 94 }; 95 96 lcdif@80030000 { 97 pinctrl-names = "default"; 98 pinctrl-0 = <&lcdif_24bit_pins_a 99 &lcdif_pins_apx4>; 100 display = <&display0>; 101 status = "okay"; 102 103 display0: display0 { 104 bits-per-pixel = <32>; 105 bus-width = <24>; 106 107 display-timings { 108 native-mode = <&timing0>; 109 timing0: timing0 { 110 clock-frequency = <30000000>; 111 hactive = <800>; 112 vactive = <480>; 113 hback-porch = <88>; 114 hfront-porch = <40>; 115 vback-porch = <32>; 116 vfront-porch = <13>; 117 hsync-len = <48>; 118 vsync-len = <3>; 119 hsync-active = <1>; 120 vsync-active = <1>; 121 de-active = <1>; 122 pixelclk-active = <0>; 123 }; 124 }; 125 }; 126 }; 127 }; 128 129 apbx@80040000 { 130 saif0: saif@80042000 { 131 pinctrl-names = "default"; 132 pinctrl-0 = <&saif0_pins_a>; 133 status = "okay"; 134 }; 135 136 saif1: saif@80046000 { 137 pinctrl-names = "default"; 138 pinctrl-0 = <&saif1_pins_a>; 139 fsl,saif-master = <&saif0>; 140 status = "okay"; 141 }; 142 143 i2c0: i2c@80058000 { 144 pinctrl-names = "default"; 145 pinctrl-0 = <&i2c0_pins_a>; 146 status = "okay"; 147 148 sgtl5000: codec@a { 149 compatible = "fsl,sgtl5000"; 150 reg = <0x0a>; 151 #sound-dai-cells = <0>; 152 VDDA-supply = <®_3p3v>; 153 VDDIO-supply = <®_3p3v>; 154 clocks = <&saif0>; 155 }; 156 157 pcf8563: rtc@51 { 158 compatible = "phg,pcf8563"; 159 reg = <0x51>; 160 }; 161 }; 162 163 duart: serial@80074000 { 164 pinctrl-names = "default"; 165 pinctrl-0 = <&duart_pins_a>; 166 status = "okay"; 167 }; 168 169 auart0: serial@8006a000 { 170 pinctrl-names = "default"; 171 pinctrl-0 = <&auart0_pins_a>; 172 status = "okay"; 173 }; 174 175 auart1: serial@8006c000 { 176 pinctrl-names = "default"; 177 pinctrl-0 = <&auart1_2pins_a>; 178 status = "okay"; 179 }; 180 181 auart2: serial@8006e000 { 182 pinctrl-names = "default"; 183 pinctrl-0 = <&auart2_2pins_a>; 184 status = "okay"; 185 }; 186 187 usbphy1: usbphy@8007e000 { 188 pinctrl-names = "default"; 189 pinctrl-0 = <&usb1_pins_a>; 190 status = "okay"; 191 }; 192 }; 193 }; 194 195 ahb@80080000 { 196 usb1: usb@80090000 { 197 status = "okay"; 198 }; 199 200 mac0: ethernet@800f0000 { 201 phy-mode = "rmii"; 202 pinctrl-names = "default"; 203 pinctrl-0 = <&mac0_pins_a>; 204 status = "okay"; 205 }; 206 }; 207 208 regulators { 209 compatible = "simple-bus"; 210 #address-cells = <1>; 211 #size-cells = <0>; 212 213 reg_3p3v: regulator@0 { 214 compatible = "regulator-fixed"; 215 reg = <0>; 216 regulator-name = "3P3V"; 217 regulator-min-microvolt = <3300000>; 218 regulator-max-microvolt = <3300000>; 219 regulator-always-on; 220 }; 221 }; 222 223 sound { 224 compatible = "bluegiga,apx4devkit-sgtl5000", 225 "fsl,mxs-audio-sgtl5000"; 226 model = "apx4devkit-sgtl5000"; 227 saif-controllers = <&saif0 &saif1>; 228 audio-codec = <&sgtl5000>; 229 }; 230 231 leds { 232 compatible = "gpio-leds"; 233 234 user { 235 label = "Heartbeat"; 236 gpios = <&gpio3 28 0>; 237 linux,default-trigger = "heartbeat"; 238 }; 239 }; 240}; 241