imx: Add support for i.MX28 based XEA board
This patch introduces support for i.MX28 based XEA board. This board supports DM/DTS in U-Boot proper as well as DM aware drivers in SPL (u-boot.sb) by using OF_PLATDATA. More detailed information regarding usage of it can be found in ./board/liebherr/xea/README file. U-Boot SPL 2019.10-rc1-00233-g6aa549f05c (Aug 12 2019 - 09:23:36 +0200) Trying to boot from MMC1 MMC0: Command 8 timeout (status 0xf0344020) mmc_load_image_raw_sector: mmc block read error U-Boot 2019.10-rc1-00233-g6aa549f05c (Aug 12 2019 - 09:23:36 +0200) CPU: Freescale i.MX28 rev1.2 at 454 MHz BOOT: SSP SPI #3, master, 3V3 NOR Model: Liebherr (LWE) XEA i.MX28 Board DRAM: 128 MiB MMC: MXS MMC: 0 Loading Environment from SPI Flash... SF: Detected n25q128a13 with page size 256 Bytes, erase size 64 KiB, total 16 MiB OK In: serial Out: serial Err: serial Net: Warning: ethernet@800f0000 (eth0) using random MAC address - ce:e1:9e:46:f3:a2 eth0: ethernet@800f0000 Hit any key to stop autoboot: 0 Signed-off-by: Lukasz Majewski <lukma@denx.de>
This commit is contained in:
committed by
Stefano Babic
parent
227cb30047
commit
010e58d448
@@ -570,6 +570,9 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
|
||||
vf610-pcm052.dtb \
|
||||
vf610-bk4r1.dtb
|
||||
|
||||
dtb-$(CONFIG_MX28) += \
|
||||
imx28-xea.dtb
|
||||
|
||||
dtb-$(CONFIG_MX53) += imx53-cx9020.dtb \
|
||||
imx53-kp.dtb \
|
||||
imx53-m53menlo.dtb
|
||||
|
||||
46
arch/arm/dts/imx28-xea-u-boot.dtsi
Normal file
46
arch/arm/dts/imx28-xea-u-boot.dtsi
Normal file
@@ -0,0 +1,46 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2019
|
||||
* Lukasz Majewski, DENX Software Engineering, lukma@denx.de
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+ or X11
|
||||
*/
|
||||
|
||||
/*
|
||||
* The minimal augmentation DTS U-Boot file to allow eMMC driver
|
||||
* configuration in SPL for falcon boot.
|
||||
*/
|
||||
#include "imx28-u-boot.dtsi"
|
||||
/ {
|
||||
apb@80000000 {
|
||||
u-boot,dm-spl;
|
||||
|
||||
apbh@80000000 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
apbx@80040000 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&clks {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&ssp0 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&ssp3 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
110
arch/arm/dts/imx28-xea.dts
Normal file
110
arch/arm/dts/imx28-xea.dts
Normal file
@@ -0,0 +1,110 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2019
|
||||
* Lukasz Majewski, DENX Software Engineering, lukma@denx.de
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+ or X11
|
||||
*
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx28.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Liebherr (LWE) XEA i.MX28 Board";
|
||||
compatible = "lwe,xea", "fsl,imx28";
|
||||
|
||||
aliases {
|
||||
spi3 = &ssp3;
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x40000000 0x10000000>;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3P3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_fec_3v3: regulator-fec-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fec-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&gpio0 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&mac0 {
|
||||
phy-mode = "rmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mac0_pins_a>;
|
||||
phy-supply = <®_fec_3v3>;
|
||||
phy-reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>;
|
||||
phy-reset-duration = <1>;
|
||||
phy-reset-post-delay = <1>;
|
||||
status = "okay";
|
||||
|
||||
fixed-link {
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
&ssp0 {
|
||||
compatible = "fsl,imx28-mmc";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_8bit_pins_a>;
|
||||
bus-width = <8>;
|
||||
vmmc-supply = <®_3p3v>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssp3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx28-spi";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi3_pins_b>;
|
||||
status = "okay";
|
||||
spi-max-frequency = <40000000>;
|
||||
num-cs = <2>;
|
||||
|
||||
flash0: s25fl256s@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <40000000>;
|
||||
reg = <0>;
|
||||
|
||||
partition@0 {
|
||||
label = "SPL (spi)";
|
||||
reg = <0x0 0x10000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1 {
|
||||
label = "u-boot (spi)";
|
||||
reg = <0x10000 0x70000>;
|
||||
read-only;
|
||||
};
|
||||
partition@2 {
|
||||
label = "uboot-env (spi)";
|
||||
reg = <0x80000 0x20000>;
|
||||
};
|
||||
partition@3 {
|
||||
label = "kernel (spi)";
|
||||
reg = <0x100000 0x400000>;
|
||||
};
|
||||
partition@4 {
|
||||
label = "swupdate (spi)";
|
||||
reg = <0x50000 0x800000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -60,6 +60,9 @@ config TARGET_SC_SPS_1
|
||||
config TARGET_TS4600
|
||||
bool "Support TS4600"
|
||||
|
||||
config TARGET_XEA
|
||||
bool "Support XEA"
|
||||
|
||||
endchoice
|
||||
|
||||
config SYS_SOC
|
||||
@@ -67,6 +70,7 @@ config SYS_SOC
|
||||
|
||||
source "board/bluegiga/apx4devkit/Kconfig"
|
||||
source "board/freescale/mx28evk/Kconfig"
|
||||
source "board/liebherr/xea/Kconfig"
|
||||
source "board/ppcag/bg0900/Kconfig"
|
||||
source "board/schulercontrol/sc_sps_1/Kconfig"
|
||||
source "board/technologic/ts4600/Kconfig"
|
||||
|
||||
Reference in New Issue
Block a user