===== SPL Debug Ausgaben in U-Boot aktivieren ======
Die U-Boot Patch Serie muss um den folgenden Patch erweitert werden.
{{ :intern:knowledge_base:arm:uboot:debug-outputs.zip | Debug output U-Boot TQMa28}}
debug outputs
From: Michael Krummsdorf
Signed-off-by: Michael Krummsdorf
---
arch/arm/Makefile | 2 +-
configs/tqma28_mba28_mmc_defconfig | 1 -
include/common.h | 2 ++
include/configs/mxs.h | 1 +
include/configs/tqma28.h | 1 +
5 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 6f30098..a4fd026 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -78,7 +78,7 @@ libs-y += arch/arm/cpu/
libs-y += arch/arm/lib/
ifeq ($(CONFIG_SPL_BUILD),y)
-ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
+ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs))
libs-y += arch/arm/imx-common/
endif
else
diff --git a/configs/tqma28_mba28_mmc_defconfig b/configs/tqma28_mba28_mmc_defconfig
index 9ad43e5..e4f4612 100644
--- a/configs/tqma28_mba28_mmc_defconfig
+++ b/configs/tqma28_mba28_mmc_defconfig
@@ -3,6 +3,5 @@ CONFIG_TARGET_TQMA28=y
CONFIG_TQMA28_128MB=y
CONFIG_TQMA28_MBA28=y
CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE"
# CONFIG_CMD_IMLS is not set
CONFIG_SPI_FLASH=y
diff --git a/include/common.h b/include/common.h
index 8f4b2ec..aef176c 100644
--- a/include/common.h
+++ b/include/common.h
@@ -88,6 +88,8 @@ typedef volatile unsigned char vu_char;
#define CONFIG_SYS_SUPPORT_64BIT_DATA
#endif
+#define DEBUG
+
#ifdef DEBUG
#define _DEBUG 1
#else
diff --git a/include/configs/mxs.h b/include/configs/mxs.h
index 38b1e93..96ff522 100644
--- a/include/configs/mxs.h
+++ b/include/configs/mxs.h
@@ -56,6 +56,7 @@
#define CONFIG_SPL_LIBCOMMON_SUPPORT
#define CONFIG_SPL_LIBGENERIC_SUPPORT
#define CONFIG_SPL_GPIO_SUPPORT
+#define CONFIG_SPL_SERIAL_SUPPORT
/* Memory sizes */
#define CONFIG_SYS_MALLOC_LEN 0x00400000 /* 4 MB for malloc */
diff --git a/include/configs/tqma28.h b/include/configs/tqma28.h
index e723cb0..a165500 100644
--- a/include/configs/tqma28.h
+++ b/include/configs/tqma28.h
@@ -111,6 +111,7 @@ extern unsigned tqma28_get_env_dev(void);
/* Serial Driver */
#define CONFIG_SYS_LINUX_CONSOLE ttyAPP3
+#define CONFIG_SPL_SERIAL_SUPPORT
/* FEC Ethernet on SoC */
#ifdef CONFIG_CMD_NET
Wenn oben genannte Patch angewendet wird, erfolgen die Ausgaben nur über die Debug UART
----
===== U-boot auf neue SD Karte schreiben =====
Falls man eine SD Karte ohne PTXdist erstellen möchte muss man darauf achten das U-Boot nicht mittels dd auf die SD Karte gespielt werden kann. Es muss das Tool sdimage verwendet werden das Teil der mxs-utils ist.\\
[[http://www.pengutronix.de/software/mxs-utils/download/mxs-utils-2011.08.0.tar.bz2]]
- mxs-utils downloaden und entpacken
- Console öffnen und in mxs-utils Ordner wechseln
- ./configure ausführen
- make ausführen
- die ausführbare Datei ist dann im mxs-utils Ordner unter /bin verfügbar
- die SD Karte mit fdisk wie folgt partitionieren :
* p
* d
* 4
* d
* 3
* d
* 2
* d
* 1
* n
* p
* 1
* 16384
* 32767
* n
* p
* 2
* 32768
* 49151
* n
* p
* 3
* 49152
* 180223
* t
* 1
* 53
* a
* 1
* p
* w
7. der U-Boot kann nun mit dem Tool wie folgt aufgespielt werden
./sdimage -f u-boot_elcore.sb -d /dev/sdd
----
===== Devicetree laden TQMa28 =====
1. print boot_ssp \\
2. mmc read $fdtaddr 3000 1000 \\
3. fdt addr $fdtaddr \\
4. fdt list / \\
----
==== PHY Erkennung TQMa28 ====
* mii info
probt alle möglichen PHY-Adressen (0-31) durch und meldet zurück auf welcher Adresse welcher PHY (OUI, Model, etc.) geantwortet hat
* ping (bzw. alle „Netzwerk-Befehle“)
die Zuordnung FECx <=> PHY (bzw. PHY-Adresse) ist über die Aufrufparameter der Funktion fecmxc_initialize_multi im jeweiligen Boardfile abgebildet/definiert
board/tqc/tqma28/tqma28.c:
/* Reset FEC PHYs */
gpio_direction_output(MX28_PAD_ENET0_RX_CLK__GPIO_4_13, 1);
udelay(50);
gpio_set_value(MX28_PAD_ENET0_RX_CLK__GPIO_4_13, 0);
udelay(200);
gpio_set_value(MX28_PAD_ENET0_RX_CLK__GPIO_4_13, 1);
ret = fecmxc_initialize_multi(bis, 1, 0, MXS_ENET0_BASE);
if (ret) {
puts("FEC MXS: Unable to init FEC0\n");
return ret;
}
ret = fecmxc_initialize_multi(bis, 0, 3, MXS_ENET1_BASE);
if (ret) {
puts("FEC MXS: Unable to init FEC1\n");
return ret;
}
Die erste Zahl ist das Interface an dem der PHY angeschlossen ist, die markierte Zahl ist die PHY-Adresse.
===== EEPROM TQMa28 auslesen =====
1. i2c dev 1
2. TQMa28 U-Boot > i2c md 0x50 0.2 0x100
===== EEPROM TQMa28 beschreiben =====
i2c mw 0x50 0.2 0xff