0001 // SPDX-License-Identifier: GPL-2.0
0002 /dts-v1/;
0003 #include "imx28.dtsi"
0004
0005 / {
0006 model = "Bluegiga APX4 Development Kit";
0007 compatible = "bluegiga,apx4devkit", "fsl,imx28";
0008
0009 memory@40000000 {
0010 device_type = "memory";
0011 reg = <0x40000000 0x04000000>;
0012 };
0013
0014 apb@80000000 {
0015 apbh@80000000 {
0016 nand-controller@8000c000 {
0017 pinctrl-names = "default";
0018 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
0019 status = "okay";
0020 };
0021
0022 ssp0: spi@80010000 {
0023 compatible = "fsl,imx28-mmc";
0024 pinctrl-names = "default";
0025 pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
0026 bus-width = <4>;
0027 status = "okay";
0028 };
0029
0030 ssp2: spi@80014000 {
0031 compatible = "fsl,imx28-mmc";
0032 pinctrl-names = "default";
0033 pinctrl-0 = <&mmc2_4bit_pins_apx4 &mmc2_sck_cfg_apx4>;
0034 bus-width = <4>;
0035 status = "okay";
0036 };
0037
0038 pinctrl@80018000 {
0039 pinctrl-names = "default";
0040 pinctrl-0 = <&hog_pins_a>;
0041
0042 hog_pins_a: hog@0 {
0043 reg = <0>;
0044 fsl,pinmux-ids = <
0045 MX28_PAD_GPMI_CE1N__GPIO_0_17
0046 MX28_PAD_GPMI_RDY1__GPIO_0_21
0047 MX28_PAD_SSP2_MISO__GPIO_2_18
0048 MX28_PAD_SSP2_SS0__AUART3_TX /* was: 0x2131 - MX28_PAD_SSP2_SS0__GPIO_2_19 */
0049 MX28_PAD_PWM3__GPIO_3_28
0050 MX28_PAD_LCD_RESET__GPIO_3_30
0051 MX28_PAD_JTAG_RTCK__GPIO_4_20
0052 >;
0053 fsl,drive-strength = <MXS_DRIVE_4mA>;
0054 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0055 fsl,pull-up = <MXS_PULL_DISABLE>;
0056 };
0057
0058 lcdif_pins_apx4: lcdif-apx4@0 {
0059 reg = <0>;
0060 fsl,pinmux-ids = <
0061 MX28_PAD_LCD_RD_E__LCD_VSYNC
0062 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
0063 MX28_PAD_LCD_RS__LCD_DOTCLK
0064 MX28_PAD_LCD_CS__LCD_ENABLE
0065 >;
0066 fsl,drive-strength = <MXS_DRIVE_4mA>;
0067 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0068 fsl,pull-up = <MXS_PULL_DISABLE>;
0069 };
0070
0071 mmc2_4bit_pins_apx4: mmc2-4bit-apx4@0 {
0072 reg = <0>;
0073 fsl,pinmux-ids = <
0074 MX28_PAD_SSP0_DATA4__SSP2_D0
0075 MX28_PAD_SSP0_DATA5__SSP2_D3
0076 MX28_PAD_SSP0_DATA6__SSP2_CMD
0077 MX28_PAD_SSP0_DATA7__SSP2_SCK
0078 MX28_PAD_SSP2_SS1__SSP2_D1
0079 MX28_PAD_SSP2_SS2__SSP2_D2
0080 >;
0081 fsl,drive-strength = <MXS_DRIVE_8mA>;
0082 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0083 fsl,pull-up = <MXS_PULL_ENABLE>;
0084 };
0085
0086 mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 {
0087 reg = <0>;
0088 fsl,pinmux-ids = <
0089 MX28_PAD_SSP0_DATA7__SSP2_SCK
0090 >;
0091 fsl,drive-strength = <MXS_DRIVE_12mA>;
0092 fsl,pull-up = <MXS_PULL_DISABLE>;
0093 };
0094 };
0095
0096 lcdif@80030000 {
0097 pinctrl-names = "default";
0098 pinctrl-0 = <&lcdif_24bit_pins_a
0099 &lcdif_pins_apx4>;
0100 display = <&display0>;
0101 status = "okay";
0102
0103 display0: display0 {
0104 bits-per-pixel = <32>;
0105 bus-width = <24>;
0106
0107 display-timings {
0108 native-mode = <&timing0>;
0109 timing0: timing0 {
0110 clock-frequency = <30000000>;
0111 hactive = <800>;
0112 vactive = <480>;
0113 hback-porch = <88>;
0114 hfront-porch = <40>;
0115 vback-porch = <32>;
0116 vfront-porch = <13>;
0117 hsync-len = <48>;
0118 vsync-len = <3>;
0119 hsync-active = <1>;
0120 vsync-active = <1>;
0121 de-active = <1>;
0122 pixelclk-active = <0>;
0123 };
0124 };
0125 };
0126 };
0127 };
0128
0129 apbx@80040000 {
0130 saif0: saif@80042000 {
0131 pinctrl-names = "default";
0132 pinctrl-0 = <&saif0_pins_a>;
0133 status = "okay";
0134 };
0135
0136 saif1: saif@80046000 {
0137 pinctrl-names = "default";
0138 pinctrl-0 = <&saif1_pins_a>;
0139 fsl,saif-master = <&saif0>;
0140 status = "okay";
0141 };
0142
0143 i2c0: i2c@80058000 {
0144 pinctrl-names = "default";
0145 pinctrl-0 = <&i2c0_pins_a>;
0146 status = "okay";
0147
0148 sgtl5000: codec@a {
0149 compatible = "fsl,sgtl5000";
0150 reg = <0x0a>;
0151 #sound-dai-cells = <0>;
0152 VDDA-supply = <®_3p3v>;
0153 VDDIO-supply = <®_3p3v>;
0154 clocks = <&saif0>;
0155 };
0156
0157 pcf8563: rtc@51 {
0158 compatible = "phg,pcf8563";
0159 reg = <0x51>;
0160 };
0161 };
0162
0163 duart: serial@80074000 {
0164 pinctrl-names = "default";
0165 pinctrl-0 = <&duart_pins_a>;
0166 status = "okay";
0167 };
0168
0169 auart0: serial@8006a000 {
0170 pinctrl-names = "default";
0171 pinctrl-0 = <&auart0_pins_a>;
0172 status = "okay";
0173 };
0174
0175 auart1: serial@8006c000 {
0176 pinctrl-names = "default";
0177 pinctrl-0 = <&auart1_2pins_a>;
0178 status = "okay";
0179 };
0180
0181 auart2: serial@8006e000 {
0182 pinctrl-names = "default";
0183 pinctrl-0 = <&auart2_2pins_a>;
0184 status = "okay";
0185 };
0186
0187 usbphy1: usbphy@8007e000 {
0188 pinctrl-names = "default";
0189 pinctrl-0 = <&usb1_pins_a>;
0190 status = "okay";
0191 };
0192 };
0193 };
0194
0195 ahb@80080000 {
0196 usb1: usb@80090000 {
0197 status = "okay";
0198 };
0199
0200 mac0: ethernet@800f0000 {
0201 phy-mode = "rmii";
0202 pinctrl-names = "default";
0203 pinctrl-0 = <&mac0_pins_a>;
0204 status = "okay";
0205 };
0206 };
0207
0208 regulators {
0209 compatible = "simple-bus";
0210 #address-cells = <1>;
0211 #size-cells = <0>;
0212
0213 reg_3p3v: regulator@0 {
0214 compatible = "regulator-fixed";
0215 reg = <0>;
0216 regulator-name = "3P3V";
0217 regulator-min-microvolt = <3300000>;
0218 regulator-max-microvolt = <3300000>;
0219 regulator-always-on;
0220 };
0221 };
0222
0223 sound {
0224 compatible = "bluegiga,apx4devkit-sgtl5000",
0225 "fsl,mxs-audio-sgtl5000";
0226 model = "apx4devkit-sgtl5000";
0227 saif-controllers = <&saif0 &saif1>;
0228 audio-codec = <&sgtl5000>;
0229 };
0230
0231 leds {
0232 compatible = "gpio-leds";
0233
0234 user {
0235 label = "Heartbeat";
0236 gpios = <&gpio3 28 0>;
0237 linux,default-trigger = "heartbeat";
0238 };
0239 };
0240 };