mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
MBa8MPxL: add basic files for TQ MBa8MPxL boards
- add imx8m familie - add MBa8MPxL and MBa8MPxL-RAS314 Boards (based on imx8m) Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
This commit is contained in:
41
config/boards/mba8mpxl-ras314.wip
Normal file
41
config/boards/mba8mpxl-ras314.wip
Normal file
@@ -0,0 +1,41 @@
|
||||
# MBa8MPxL-RAS314 with TQMa8MPxL
|
||||
BOARD_NAME="TQ8MP-RAS314"
|
||||
BOARDFAMILY="imx8m"
|
||||
ATF_PLAT="imx8mp"
|
||||
ATF_UART_BASE="0x30a60000"
|
||||
BOOTCONFIG="tqma8mpxl_multi_mba8mp_ras314_defconfig"
|
||||
KERNEL_TARGET="current"
|
||||
DEFAULT_CONSOLE="serial"
|
||||
SERIALCON="ttymxc3"
|
||||
BOOT_FDT_FILE="freescale/imx8mp-tqma8mpql-mba8mp-ras314.dtb"
|
||||
BOARD_FIRMWARE_INSTALL="-full"
|
||||
PACKAGE_LIST_BOARD="gpiod python3-pip python3-periphery"
|
||||
|
||||
function post_family_tweaks_bsp__mba8mpxl-ras314() {
|
||||
|
||||
mkdir -p $destination/etc/udev/rules.d
|
||||
cat <<- EOF > "$destination"/etc/udev/70-periphery.rules
|
||||
# Allow group periphery to access devices
|
||||
SUBSYSTEM=="gpio*", GROUP="periphery", MODE="0660"
|
||||
SUBSYSTEM=="spidev*", GROUP="periphery", MODE="0660"
|
||||
SUBSYSTEM=="pwm*", GROUP="periphery", MODE="0660"
|
||||
SUBSYSTEM=="leds*", GROUP="periphery", MODE="0660"
|
||||
EOF
|
||||
|
||||
# Define a function to be run board-side during postinst of the BSP
|
||||
display_alert "Adding to bsp-cli" "${BOARD}: postinst for periferial access" "info"
|
||||
postinst_functions+=("board_side_imx8m_bsp_cli_postinst") # add to the postinst function list
|
||||
function board_side_imx8mpxl_bsp_cli_postinst() {
|
||||
# Peripheral access for specific groups
|
||||
addgroup --system --quiet periphery
|
||||
}
|
||||
|
||||
mkdir -p "$destination"/etc/X11/xorg.conf.d
|
||||
cat <<- EOF > "$destination"/etc/X11/xorg.conf.d/02-driver.conf
|
||||
Section "Device"
|
||||
Identifier "main"
|
||||
driver "fbdev"
|
||||
Option "fbdev" "/dev/fb0"
|
||||
EndSection
|
||||
EOF
|
||||
}
|
||||
22
config/boards/mba8mpxl.wip
Normal file
22
config/boards/mba8mpxl.wip
Normal file
@@ -0,0 +1,22 @@
|
||||
# MBa8MPxL with TQMa8MPxL
|
||||
BOARD_NAME="MBa8MPxL"
|
||||
BOARDFAMILY="imx8m"
|
||||
ATF_PLAT="imx8mp"
|
||||
ATF_UART_BASE="0x30a60000"
|
||||
BOOTCONFIG="tqma8mpxl_multi_mba8mpxl_defconfig"
|
||||
KERNEL_TARGET="current"
|
||||
DEFAULT_CONSOLE="serial"
|
||||
SERIALCON="ttymxc3"
|
||||
BOOT_FDT_FILE="freescale/imx8mp-tqma8mpql-mba8mpxl.dtb"
|
||||
PACKAGE_LIST_BOARD="gpiod python3-pip python3-periphery"
|
||||
|
||||
function post_family_tweaks_bsp__mba8mpxl() {
|
||||
mkdir -p "$destination"/etc/X11/xorg.conf.d
|
||||
cat <<- EOF > "$destination"/etc/X11/xorg.conf.d/02-driver.conf
|
||||
Section "Device"
|
||||
Identifier "main"
|
||||
driver "fbdev"
|
||||
Option "fbdev" "/dev/fb0"
|
||||
EndSection
|
||||
EOF
|
||||
}
|
||||
8513
config/kernel/linux-tqma-current.config
Normal file
8513
config/kernel/linux-tqma-current.config
Normal file
File diff suppressed because it is too large
Load Diff
57
config/sources/families/imx8m.conf
Normal file
57
config/sources/families/imx8m.conf
Normal file
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Copyright (c) Martin Schmiedel
|
||||
#
|
||||
# This file is a part of the Armbian Build Framework
|
||||
# https://github.com/armbian/build/
|
||||
#
|
||||
|
||||
source "${BASH_SOURCE%/*}/include/imx8_common.inc"
|
||||
OFFSET=32
|
||||
|
||||
# i.MX8Mx families needs for boot:
|
||||
# - atf
|
||||
# - hdmi firmware (some)
|
||||
# - ddr firmware
|
||||
# - uboot
|
||||
|
||||
# make some board specific adjustments
|
||||
case $BOARD in
|
||||
mba8mpxl*)
|
||||
ATFSOURCE='https://github.com/tq-systems/atf' # required for ram
|
||||
ATFBRANCH="branch:TQMa8-imx_5.4.70_2.3.0"
|
||||
ATF_ADDR="0x00970000"
|
||||
BOOTSOURCE='https://github.com/tq-systems/u-boot-tqmaxx.git' # u-boot mainlining is hard and has low-priority
|
||||
BOOTBRANCH='branch:TQMa8-v2020.04_imx_5.4.70_2.3.0'
|
||||
BOOTPATCHDIR="u-boot-tqma" # could be removed when distro boot patches are integrated
|
||||
;;
|
||||
esac
|
||||
|
||||
# bootloader releated
|
||||
pre_config_uboot_target()
|
||||
{
|
||||
# get the firmware
|
||||
rm -rf ${IMX_FIRMWARE}*
|
||||
wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/${IMX_FIRMWARE}.bin -O ${IMX_FIRMWARE}.bin
|
||||
chmod +x ${IMX_FIRMWARE}.bin
|
||||
./${IMX_FIRMWARE}.bin --auto-accept
|
||||
|
||||
# copy needed files for uboot (used by all imx8m cpu's)
|
||||
cp ${IMX_FIRMWARE}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin .
|
||||
cp ${IMX_FIRMWARE}/firmware/hdmi/cadence/signed_dp_imx8m.bin .
|
||||
cp ${IMX_FIRMWARE}/firmware/ddr/synopsys/lpddr4*.bin .
|
||||
|
||||
export ATF_LOAD_ADDR=${ATF_ADDR}
|
||||
}
|
||||
|
||||
write_uboot_platform()
|
||||
{
|
||||
echo ${OFFSET}
|
||||
dd if=$1/flash.bin of=$2 bs=1K seek=${OFFSET} status=noxfer conv=fsync > /dev/null 2>&1
|
||||
}
|
||||
|
||||
# bsp related
|
||||
family_tweaks_bsp() {
|
||||
:
|
||||
}
|
||||
40
config/sources/families/include/imx8_common.inc
Normal file
40
config/sources/families/include/imx8_common.inc
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Copyright (c) Martin Schmiedel
|
||||
#
|
||||
# This file is a part of the Armbian Build Framework
|
||||
# https://github.com/armbian/build/
|
||||
#
|
||||
|
||||
ARCH="arm64"
|
||||
KERNEL_IMAGE_TYPE="Image"
|
||||
SRC_EXTLINUX="yes" # use extlinux as default
|
||||
IMX_FIRMWARE="${IMX_FIRMWARE:-"firmware-imx-8.12"}"
|
||||
# ATF_PLAT musst set in board
|
||||
# ATF_UART_BASE musst set in board
|
||||
# MAP = target_make,target_patchdir,target_files
|
||||
# use xxx:xxx to rename files after build
|
||||
ATF_TARGET_MAP="PLAT=${ATF_PLAT} IMX_BOOT_UART_BASE=${ATF_UART_BASE} bl31;;build/imx8mp/release/bl31.bin"
|
||||
UBOOT_TARGET_MAP="flash.bin;;flash.bin"
|
||||
|
||||
# linux releated
|
||||
case $BOARD in
|
||||
|
||||
mba8mpxl*)
|
||||
LINUXCONFIG='linux-tqma-'$BRANCH # one config for "tq arm modules"
|
||||
case $BRANCH in
|
||||
|
||||
current) # active lts mainline kernel
|
||||
KERNEL_MAJOR_MINOR="6.6"
|
||||
KERNELBRANCH='branch:linux-6.6.y'
|
||||
KERNELPATCHDIR='imx8m-current'
|
||||
;;
|
||||
|
||||
edge|default) # use for tests with recent mainline kernels
|
||||
;;
|
||||
|
||||
esac
|
||||
;;
|
||||
|
||||
esac
|
||||
1965
patch/kernel/imx8m-current/0001-Add-HDMI-support-for-IMX8MP.patch
Normal file
1965
patch/kernel/imx8m-current/0001-Add-HDMI-support-for-IMX8MP.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,49 @@
|
||||
From dcc32da30daff18b4e72c9663252f17f39d819eb Mon Sep 17 00:00:00 2001
|
||||
From: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
Date: Wed, 10 Jan 2024 14:32:45 +0100
|
||||
Subject: [PATCH] arm64: dts: imx8mp: Enable HDMI on TQMa8MPxL/MBa8MPxL
|
||||
|
||||
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
---
|
||||
.../freescale/imx8mp-tqma8mpql-mba8mpxl.dts | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts
|
||||
index 258e90cc16ff..028f4e4e94e2 100644
|
||||
--- a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts
|
||||
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts
|
||||
@@ -454,6 +454,20 @@ &gpio5 {
|
||||
"", "", "", "";
|
||||
};
|
||||
|
||||
+&hdmi_pvi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_hdmi>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx_phy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c2 {
|
||||
clock-frequency = <384000>;
|
||||
pinctrl-names = "default", "gpio";
|
||||
@@ -515,6 +529,10 @@ &i2c6 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&lcdif3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&pcf85063 {
|
||||
/* RTC_EVENT# is connected on MBa8MPxL */
|
||||
pinctrl-names = "default";
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,763 @@
|
||||
From de6c467b764ac5cd739a2072c1209029fe615a1d Mon Sep 17 00:00:00 2001
|
||||
From: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
Date: Wed, 10 Jan 2024 13:16:31 +0100
|
||||
Subject: [PATCH] arm64: dts: freescale: add TQMa8MPQL on MBa8MP-RAS314
|
||||
|
||||
This adds support for TQMa8MPQL module on MBa8MP-RAS314 board.
|
||||
|
||||
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
---
|
||||
arch/arm64/boot/dts/freescale/Makefile | 1 +
|
||||
.../imx8mp-tqma8mpql-mba8mp-ras314.dts | 728 ++++++++++++++++++
|
||||
2 files changed, 729 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
|
||||
index 89aee6c92576..8ebaf3aa9ad7 100644
|
||||
--- a/arch/arm64/boot/dts/freescale/Makefile
|
||||
+++ b/arch/arm64/boot/dts/freescale/Makefile
|
||||
@@ -103,6 +103,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-icore-mx8mp-edimm2.2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-msc-sm2s-ep1.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl.dtb
|
||||
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw71xx-2x.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw72xx-2x.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw73xx-2x.dtb
|
||||
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
new file mode 100644
|
||||
index 000000000000..b7c45d0a3bcd
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
@@ -0,0 +1,728 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
+/*
|
||||
+ * Copyright 2021-2022 TQ-Systems GmbH
|
||||
+ * Author: Alexander Stein <alexander.stein@tq-group.com>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+#include <dt-bindings/net/ti-dp83867.h>
|
||||
+#include <dt-bindings/phy/phy-imx8-pcie.h>
|
||||
+#include <dt-bindings/pwm/pwm.h>
|
||||
+#include "imx8mp-tqma8mpql.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "TQ-Systems i.MX8MPlus TQMa8MPxL on MBa8MP-RAS314";
|
||||
+ compatible = "tq,imx8mp-tqma8mpql-mba8mp-ras314", "tq,imx8mp-tqma8mpql", "fsl,imx8mp";
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = &uart4;
|
||||
+ };
|
||||
+
|
||||
+ aliases {
|
||||
+ mmc0 = &usdhc3;
|
||||
+ mmc1 = &usdhc2;
|
||||
+ mmc2 = &usdhc1;
|
||||
+ rtc0 = &pcf85063;
|
||||
+ rtc1 = &snvs_rtc;
|
||||
+ };
|
||||
+
|
||||
+ gpio-leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpioled>;
|
||||
+
|
||||
+ led-1 {
|
||||
+ color = <LED_COLOR_ID_GREEN>;
|
||||
+ gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ led-2 {
|
||||
+ color = <LED_COLOR_ID_YELLOW>;
|
||||
+ gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_usdhc2_vmmc: regulator-usdhc2 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
|
||||
+ regulator-name = "VSD_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
|
||||
+ enable-active-high;
|
||||
+ startup-delay-us = <100>;
|
||||
+ off-on-delay-us = <12000>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc_3v3: regulator-3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_3V3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc_5v0: regulator-5v0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "VCC_5V0";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ };
|
||||
+
|
||||
+ reserved-memory {
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ ocram: ocram@900000 {
|
||||
+ no-map;
|
||||
+ reg = <0 0x900000 0 0x70000>;
|
||||
+ };
|
||||
+
|
||||
+ /* global autoconfigured region for contiguous allocations */
|
||||
+ linux,cma {
|
||||
+ compatible = "shared-dma-pool";
|
||||
+ reusable;
|
||||
+ size = <0 0x38000000>;
|
||||
+ alloc-ranges = <0 0x40000000 0 0xB0000000>;
|
||||
+ linux,cma-default;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "fsl,imx-audio-tlv320aic32x4";
|
||||
+ model = "tq-tlv320aic32x";
|
||||
+ audio-cpu = <&sai5>;
|
||||
+ audio-codec = <&tlv320aic3x04>;
|
||||
+ audio-routing =
|
||||
+ "IN3_L", "Mic Jack",
|
||||
+ "Mic Jack", "Mic Bias",
|
||||
+ "IN1_L", "Line In Jack",
|
||||
+ "IN1_R", "Line In Jack",
|
||||
+ "Line Out Jack", "LOL",
|
||||
+ "Line Out Jack", "LOR";
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ thermal-zones {
|
||||
+ soc-thermal {
|
||||
+ trips {
|
||||
+ soc_active0: trip-active0 {
|
||||
+ temperature = <40000>;
|
||||
+ hysteresis = <5000>;
|
||||
+ type = "active";
|
||||
+ };
|
||||
+
|
||||
+ soc_active1: trip-active1 {
|
||||
+ temperature = <48000>;
|
||||
+ hysteresis = <3000>;
|
||||
+ type = "active";
|
||||
+ };
|
||||
+
|
||||
+ soc_active2: trip-active2 {
|
||||
+ temperature = <60000>;
|
||||
+ hysteresis = <10000>;
|
||||
+ type = "active";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ecspi3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_ecspi3>;
|
||||
+ cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ spidev@0 {
|
||||
+ reg = <0>; /* Chip Select 0 */
|
||||
+ compatible = "rohm,dh2228fv";
|
||||
+ spi-max-frequency = <1000000>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&eqos {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_eqos>, <&pinctrl_eqos_phy>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ phy-handle = <ðphy3>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ mdio {
|
||||
+ compatible = "snps,dwmac-mdio";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ ethphy3: ethernet-phy@3 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <3>;
|
||||
+ ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
+ ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
+ ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||||
+ ti,dp83867-rxctrl-strap-quirk;
|
||||
+ ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
|
||||
+ reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
|
||||
+ reset-assert-us = <500000>;
|
||||
+ reset-deassert-us = <50000>;
|
||||
+ enet-phy-lane-no-swap;
|
||||
+ interrupt-parent = <&gpio4>;
|
||||
+ interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&fec {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_fec>, <&pinctrl_fec_phy>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ phy-handle = <ðphy0>;
|
||||
+ fsl,magic-packet;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ mdio {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ ethphy0: ethernet-phy@0 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <0>;
|
||||
+ ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
+ ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
+ ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||||
+ ti,dp83867-rxctrl-strap-quirk;
|
||||
+ ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
|
||||
+ reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
|
||||
+ reset-assert-us = <500000>;
|
||||
+ reset-deassert-us = <50000>;
|
||||
+ enet-phy-lane-no-swap;
|
||||
+ interrupt-parent = <&gpio4>;
|
||||
+ interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&gpio1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpio1>;
|
||||
+
|
||||
+ gpio-line-names = "WIFI_PMIC_EN", "LVDS_RESET#", "", "LVDS_BLT_EN",
|
||||
+ "", "", "", "LVDS_PWR_EN",
|
||||
+ "PMIC_IRQ", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&gpio2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpio2>;
|
||||
+
|
||||
+ gpio-line-names = "", "", "", "",
|
||||
+ "", "", "CAM_GPIO1", "CAM_GPIO2",
|
||||
+ "", "", "", "",
|
||||
+ "USDHC2_CD", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&gpio3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpio3>;
|
||||
+
|
||||
+ gpio-line-names = "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "RTC_EVENT#",
|
||||
+ "TEMP_EVENT#", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&gpio4 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpio4>;
|
||||
+
|
||||
+ gpio-line-names = "ENET0_RST#", "ENET0_INT#", "ENET1_RST#", "ENET1_INT#",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "USER_LED1", "USER_LED2",
|
||||
+ "HDMI_OC#", "", "", "",
|
||||
+ "", "", "GPIO19", "GPIO20",
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&gpio5 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpio5>;
|
||||
+
|
||||
+ gpio-line-names = "", "GPIO18", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "GPIO21", "CODEC_RST#",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "", "", "",
|
||||
+ "", "ECSPI3_SS0", "USB_HUB_RST#", "",
|
||||
+ "", "", "", "";
|
||||
+};
|
||||
+
|
||||
+&i2c2 {
|
||||
+ clock-frequency = <384000>;
|
||||
+ pinctrl-names = "default", "gpio";
|
||||
+ pinctrl-0 = <&pinctrl_i2c2>;
|
||||
+ pinctrl-1 = <&pinctrl_i2c2_gpio>;
|
||||
+ scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
+ sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ /* NXP SE97BTP with temperature sensor + eeprom */
|
||||
+ se97_1c: temperature-sensor-eeprom@1c {
|
||||
+ compatible = "nxp,se97", "jedec,jc-42.4-temp";
|
||||
+ reg = <0x1c>;
|
||||
+ };
|
||||
+
|
||||
+ at24c02_54: eeprom@54 {
|
||||
+ compatible = "nxp,se97b", "atmel,24c02";
|
||||
+ reg = <0x54>;
|
||||
+ pagesize = <16>;
|
||||
+ vcc-supply = <®_vcc_3v3>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c3 {
|
||||
+ clock-frequency = <384000>;
|
||||
+ pinctrl-names = "default", "gpio";
|
||||
+ pinctrl-0 = <&pinctrl_i2c3>;
|
||||
+ pinctrl-1 = <&pinctrl_i2c3_gpio>;
|
||||
+ scl-gpios = <&gpio2 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
+ sda-gpios = <&gpio2 11 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c4 {
|
||||
+ clock-frequency = <384000>;
|
||||
+ pinctrl-names = "default", "gpio";
|
||||
+ pinctrl-0 = <&pinctrl_i2c4>;
|
||||
+ pinctrl-1 = <&pinctrl_i2c4_gpio>;
|
||||
+ scl-gpios = <&gpio5 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
+ sda-gpios = <&gpio5 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ tlv320aic3x04: audio-codec@18 {
|
||||
+ compatible = "ti,tlv320aic32x4";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_tlv320aic3x04>;
|
||||
+ reg = <0x18>;
|
||||
+ clock-names = "mclk";
|
||||
+ clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_MCLK1>;
|
||||
+ reset-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
|
||||
+ iov-supply = <®_vcc_3v3>;
|
||||
+ ldoin-supply = <®_vcc_3v3>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c6 {
|
||||
+ clock-frequency = <384000>;
|
||||
+ pinctrl-names = "default", "gpio";
|
||||
+ pinctrl-0 = <&pinctrl_i2c6>;
|
||||
+ pinctrl-1 = <&pinctrl_i2c6_gpio>;
|
||||
+ scl-gpios = <&gpio2 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
+ sda-gpios = <&gpio2 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pcf85063 {
|
||||
+ /* RTC_EVENT# is connected on MBa8MP-RAS314 */
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_pcf85063>;
|
||||
+ interrupt-parent = <&gpio3>;
|
||||
+ interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
|
||||
+};
|
||||
+
|
||||
+&pwm3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_pwm3>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm4 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_pwm4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sai5 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_sai5>;
|
||||
+ assigned-clocks = <&clk IMX8MP_CLK_SAI5>;
|
||||
+ assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
|
||||
+ assigned-clock-rates = <12288000>;
|
||||
+ fsl,sai-mclk-direction-output;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&snvs_pwrkey {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart1>;
|
||||
+ assigned-clocks = <&clk IMX8MP_CLK_UART1>;
|
||||
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart2>;
|
||||
+ assigned-clocks = <&clk IMX8MP_CLK_UART2>;
|
||||
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart3>;
|
||||
+ assigned-clocks = <&clk IMX8MP_CLK_UART3>;
|
||||
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart4 {
|
||||
+ /* console */
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb3_0 {
|
||||
+ fsl,over-current-active-low;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb3_1 {
|
||||
+ fsl,disable-port-power-control;
|
||||
+ fsl,permanently-attached;
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb3_phy0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb3_phy1 {
|
||||
+ vbus-supply = <®_vcc_5v0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_dwc3_0 {
|
||||
+ dr_mode = "device";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_dwc3_1 {
|
||||
+ dr_mode = "host";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usbhub>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ hub_2_0: hub@1 {
|
||||
+ compatible = "usb451,8142";
|
||||
+ reg = <1>;
|
||||
+ peer-hub = <&hub_3_0>;
|
||||
+ reset-gpios = <&gpio5 26 GPIO_ACTIVE_LOW>;
|
||||
+ vdd-supply = <®_vcc_3v3>;
|
||||
+ };
|
||||
+
|
||||
+ hub_3_0: hub@2 {
|
||||
+ compatible = "usb451,8140";
|
||||
+ reg = <2>;
|
||||
+ peer-hub = <&hub_2_0>;
|
||||
+ reset-gpios = <&gpio5 26 GPIO_ACTIVE_LOW>;
|
||||
+ vdd-supply = <®_vcc_3v3>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&usdhc2 {
|
||||
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
+ pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
|
||||
+ pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
|
||||
+ pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
|
||||
+ cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
|
||||
+ vmmc-supply = <®_usdhc2_vmmc>;
|
||||
+ no-mmc;
|
||||
+ no-sdio;
|
||||
+ disable-wp;
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&iomuxc {
|
||||
+ pinctrl_ecspi3: ecspi3grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_UART1_TXD__ECSPI3_MOSI 0x1c0>,
|
||||
+ <MX8MP_IOMUXC_UART1_RXD__ECSPI3_SCLK 0x1c0>,
|
||||
+ <MX8MP_IOMUXC_UART2_RXD__ECSPI3_MISO 0x1c0>,
|
||||
+ <MX8MP_IOMUXC_UART2_TXD__GPIO5_IO25 0x1c0>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_eqos: eqosgrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x40000044>,
|
||||
+ <MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x40000044>,
|
||||
+ <MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x90>,
|
||||
+ <MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x90>,
|
||||
+ <MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x90>,
|
||||
+ <MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x90>,
|
||||
+ <MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x90>,
|
||||
+ <MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x90>,
|
||||
+ <MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x12>,
|
||||
+ <MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x12>,
|
||||
+ <MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x12>,
|
||||
+ <MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x12>,
|
||||
+ <MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x12>,
|
||||
+ <MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_eqos_phy: eqosphygrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x100>,
|
||||
+ <MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03 0x1c0>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_fec: fecgrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x40000044>,
|
||||
+ <MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x40000044>,
|
||||
+ <MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90>,
|
||||
+ <MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90>,
|
||||
+ <MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90>,
|
||||
+ <MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x12>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x12>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x12>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x12>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x12>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_fec_phy: fecphygrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x100>,
|
||||
+ <MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x1c0>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpioled: gpioledgrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x14>,
|
||||
+ <MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpio1: gpio1grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x10>,
|
||||
+ <MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01 0x10>,
|
||||
+ <MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x10>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpio2: gpio2grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x14>,
|
||||
+ <MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpio3: gpio3grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20 0x180>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpio4: gpio4grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20 0x180>,
|
||||
+ <MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x180>,
|
||||
+ <MX8MP_IOMUXC_SAI2_TXD0__GPIO4_IO26 0x180>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpio5: gpio5grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x10>,
|
||||
+ <MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x10>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_hdmi: hdmigrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x400001c2>,
|
||||
+ <MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x400001c2>,
|
||||
+ <MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x40000010>,
|
||||
+ <MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC 0x40000010>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpt1: gpt1grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_UART3_TXD__GPT1_CLK 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpt2: gpt2grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_I2C3_SCL__GPT2_CLK 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpt3: gpt3grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_I2C3_SDA__GPT3_CLK 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c2: i2c2grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c2_gpio: i2c2-gpiogrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c3: i2c3grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD1_RESET_B__I2C3_SCL 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_SD1_STROBE__I2C3_SDA 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c3_gpio: i2c3-gpiogrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c4: i2c4grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_ECSPI2_MISO__I2C4_SCL 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_ECSPI2_SS0__I2C4_SDA 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c4_gpio: i2c4-gpiogrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+ pinctrl_i2c5: i2c5grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c5_gpio: i2c5-gpiogrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c6: i2c6grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__I2C6_SCL 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_SD1_DATA1__I2C6_SDA 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c6_gpio: i2c6-gpiogrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD1_DATA0__GPIO2_IO02 0x400001e2>,
|
||||
+ <MX8MP_IOMUXC_SD1_DATA1__GPIO2_IO03 0x400001e2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_pcf85063: pcf85063grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19 0x80>;
|
||||
+ };
|
||||
+
|
||||
+ /* X1 - PWM3 */
|
||||
+ pinctrl_pwm3: pwm3grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_GPIO1_IO14__PWM3_OUT 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ /* X1 - PWM4 */
|
||||
+ pinctrl_pwm4: pwm4grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_GPIO1_IO15__PWM4_OUT 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_reg12v0: reg12v0grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x140>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_sai5: sai5grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI5_MCLK__AUDIOMIX_SAI5_MCLK 0x94>,
|
||||
+ <MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_SAI5_RX_DATA00 0x94>,
|
||||
+ <MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_SAI5_TX_DATA00 0x94>,
|
||||
+ <MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_SAI5_TX_SYNC 0x94>,
|
||||
+ <MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_SAI5_TX_BCLK 0x94>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_tlv320aic3x04: tlv320aic3x04grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_ECSPI2_MOSI__GPIO5_IO11 0x180>;
|
||||
+ };
|
||||
+
|
||||
+ /* X1 UART1 */
|
||||
+ pinctrl_uart1: uart1grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI2_RXFS__UART1_DCE_TX 0x14>,
|
||||
+ <MX8MP_IOMUXC_SAI2_RXC__UART1_DCE_RX 0x14>,
|
||||
+ <MX8MP_IOMUXC_SAI2_RXD0__UART1_DTE_CTS 0x14>,
|
||||
+ <MX8MP_IOMUXC_SAI2_TXFS__UART1_DTE_RTS 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ /* Bluetooth UART2 */
|
||||
+ pinctrl_uart2: uart2grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI3_TXC__UART2_DCE_TX 0x14>,
|
||||
+ <MX8MP_IOMUXC_SAI3_TXFS__UART2_DCE_RX 0x14>,
|
||||
+ <MX8MP_IOMUXC_SAI3_RXD__UART2_DTE_CTS 0x14>,
|
||||
+ <MX8MP_IOMUXC_SAI3_RXC__UART2_DTE_RTS 0x14>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_uart3: uart3grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD1_DATA6__UART3_DCE_TX 0x140>,
|
||||
+ <MX8MP_IOMUXC_SD1_DATA7__UART3_DCE_RX 0x140>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_uart4: uart4grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x140>,
|
||||
+ <MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usbhub: usbhubgrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_UART3_RXD__GPIO5_IO26 0x10>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc2: usdhc2grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x192>,
|
||||
+ <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc1: usdhc1grp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x192>,
|
||||
+ <MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d2>,
|
||||
+ <MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d2>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>,
|
||||
+ <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>,
|
||||
+ <MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4>,
|
||||
+ <MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0>;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c0>;
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 2cfee5be091a6b7306c20dc4ef088490d3c0a291 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
Date: Wed, 10 Jan 2024 13:10:40 +0100
|
||||
Subject: [PATCH] arm64: dts: imx8mp: Enable HDMI on TQMa8MPxL/MBa8MP-RAS314
|
||||
|
||||
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
---
|
||||
.../imx8mp-tqma8mpql-mba8mp-ras314.dts | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
index b7c45d0a3bcd..27830cba1cba 100644
|
||||
--- a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
@@ -275,6 +275,24 @@ &gpio5 {
|
||||
"", "", "", "";
|
||||
};
|
||||
|
||||
+&hdmi_pvi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_hdmi>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_tx_phy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&lcdif3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&i2c2 {
|
||||
clock-frequency = <384000>;
|
||||
pinctrl-names = "default", "gpio";
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
From 6d1e1cb284d6edd78e533bf9c8c54bed39d24356 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
Date: Wed, 10 Jan 2024 13:10:41 +0100
|
||||
Subject: [PATCH] Add wifi support for TQMa8MPxL-MBa8MP-RAS314
|
||||
|
||||
- bluetooth not working yet
|
||||
|
||||
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
---
|
||||
.../imx8mp-tqma8mpql-mba8mp-ras314.dts | 43 +++++++++++++++++--
|
||||
1 file changed, 39 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
index 27830cba1cba..418886187ecc 100644
|
||||
--- a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
|
||||
@@ -257,15 +257,15 @@ &gpio4 {
|
||||
"", "", "", "",
|
||||
"", "", "USER_LED1", "USER_LED2",
|
||||
"HDMI_OC#", "", "", "",
|
||||
- "", "", "GPIO19", "GPIO20",
|
||||
- "", "", "", "";
|
||||
+ "", "PCI_WAKE#", "GPIO19", "GPIO20",
|
||||
+ "PCIE_PERST#", "", "", "";
|
||||
};
|
||||
|
||||
&gpio5 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio5>;
|
||||
|
||||
- gpio-line-names = "", "GPIO18", "", "",
|
||||
+ gpio-line-names = "", "GPIO18", "PCIE_W_DISABLE#", "",
|
||||
"", "", "", "",
|
||||
"", "", "GPIO21", "CODEC_RST#",
|
||||
"", "", "", "",
|
||||
@@ -366,6 +366,29 @@ &pcf85063 {
|
||||
interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
|
||||
+&pcie_phy {
|
||||
+ clocks = <&hsio_blk_ctrl>;
|
||||
+ clock-names = "ref";
|
||||
+ fsl,clkreq-unsupported;
|
||||
+ fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pcie {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_wifi>;
|
||||
+ reset-gpio = <&gpio4 28 GPIO_ACTIVE_LOW>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ mvl_wifi: wifi@0,0 {
|
||||
+ compatible = "pci1b4b,2b42";
|
||||
+ interrupt-parent = <&gpio4>;
|
||||
+ interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ wakeup-source;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&pwm3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm3>;
|
||||
@@ -405,7 +428,13 @@ &uart2 {
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
assigned-clocks = <&clk IMX8MP_CLK_UART2>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
|
||||
- status = "okay";
|
||||
+ uart-has-rtscts;
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "nxp,88w8987-bt";
|
||||
+ fw-init-baudrate = <3000000>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
@@ -568,6 +597,7 @@ pinctrl_gpio4: gpio4grp {
|
||||
|
||||
pinctrl_gpio5: gpio5grp {
|
||||
fsl,pins = <MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x10>,
|
||||
+ <MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02 0x180>,
|
||||
<MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x10>;
|
||||
};
|
||||
|
||||
@@ -743,4 +773,9 @@ pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
|
||||
pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
|
||||
fsl,pins = <MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c0>;
|
||||
};
|
||||
+
|
||||
+ pinctrl_wifi: wifigrp {
|
||||
+ fsl,pins = <MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x180>,
|
||||
+ <MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x180>;
|
||||
+ };
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
686
patch/u-boot/u-boot-tqma/0001-tqma8-enable-distro-boot.patch
Normal file
686
patch/u-boot/u-boot-tqma/0001-tqma8-enable-distro-boot.patch
Normal file
@@ -0,0 +1,686 @@
|
||||
From ed1e8500596466e0115a5bbcd72a6818fc11ad1b Mon Sep 17 00:00:00 2001
|
||||
From: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
Date: Mon, 9 Oct 2023 09:50:48 +0200
|
||||
Subject: [PATCH] tqma8: enable distro boot
|
||||
|
||||
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
---
|
||||
board/tqc/common/Kconfig | 4 +
|
||||
board/tqc/common/Makefile | 1 +
|
||||
board/tqc/common/tqc_bb.h | 6 +
|
||||
board/tqc/common/tqc_distro.c | 37 +++
|
||||
board/tqc/tqma8mpxl/tqma8mpxl.c | 5 +-
|
||||
board/tqc/tqma8mx/tqma8mx.c | 5 +-
|
||||
board/tqc/tqma8mxml/tqma8mxml.c | 5 +-
|
||||
configs/tqma8mxml_1gb_mba8mx_fspi_defconfig | 1 -
|
||||
configs/tqma8mxml_1gb_mba8mx_mfg_defconfig | 1 -
|
||||
configs/tqma8mxml_1gb_mba8mx_mmc_defconfig | 1 -
|
||||
configs/tqma8mxml_2gb_mba8mx_fspi_defconfig | 1 -
|
||||
configs/tqma8mxml_2gb_mba8mx_mfg_defconfig | 1 -
|
||||
configs/tqma8mxml_2gb_mba8mx_mmc_defconfig | 1 -
|
||||
configs/tqma8mxml_4gb_mba8mx_fspi_defconfig | 1 -
|
||||
configs/tqma8mxml_4gb_mba8mx_mfg_defconfig | 1 -
|
||||
configs/tqma8mxml_4gb_mba8mx_mmc_defconfig | 1 -
|
||||
configs/tqma8mxnl_1gb_mba8mx_defconfig | 1 -
|
||||
configs/tqma8mxnl_1gb_mba8mx_mfg_defconfig | 1 -
|
||||
doc/board/tq/examples/boot-legacy.cmd | 26 ++
|
||||
include/configs/tqma8mxml-mba8mx.h | 11 +-
|
||||
include/configs/tqma8mxml.h | 256 ++++----------------
|
||||
include/environment/tq/boot.h | 21 ++
|
||||
22 files changed, 167 insertions(+), 221 deletions(-)
|
||||
create mode 100644 board/tqc/common/tqc_distro.c
|
||||
create mode 100644 doc/board/tq/examples/boot-legacy.cmd
|
||||
create mode 100644 include/environment/tq/boot.h
|
||||
|
||||
diff --git a/board/tqc/common/Kconfig b/board/tqc/common/Kconfig
|
||||
index 7f60d0b686..a34a2cf300 100644
|
||||
--- a/board/tqc/common/Kconfig
|
||||
+++ b/board/tqc/common/Kconfig
|
||||
@@ -16,6 +16,10 @@ config TQC_ENVLOC
|
||||
bool
|
||||
select ENV_IS_NOWHERE
|
||||
|
||||
+config TQC_DISTRO
|
||||
+ bool
|
||||
+ default y if DISTRO_DEFAULTS
|
||||
+
|
||||
config TQC_RTC
|
||||
bool
|
||||
|
||||
diff --git a/board/tqc/common/Makefile b/board/tqc/common/Makefile
|
||||
index 1640cc9cd2..1d04d94aad 100644
|
||||
--- a/board/tqc/common/Makefile
|
||||
+++ b/board/tqc/common/Makefile
|
||||
@@ -24,6 +24,7 @@ obj-$(CONFIG_TQC_EMMC) += tqc_emmc.o
|
||||
obj-$(CONFIG_TQC_SDMMC) += tqc_sdmmc.o
|
||||
obj-$(CONFIG_TQC_SCU) += tqc_scu.o
|
||||
obj-$(CONFIG_TQC_RTC) += tqc_rtc.o
|
||||
+obj-$(CONFIG_TQC_DISTRO) += tqc_distro.o
|
||||
obj-$(CONFIG_TQC_ENVLOC) += tqc_envloc.o
|
||||
obj-$(CONFIG_TQC_VARD) += tq_som_features.o
|
||||
obj-$(CONFIG_TQC_SPI_NOR) += tqc_spi_nor.o
|
||||
diff --git a/board/tqc/common/tqc_bb.h b/board/tqc/common/tqc_bb.h
|
||||
index a6dfc1ab97..e9e1415eb3 100644
|
||||
--- a/board/tqc/common/tqc_bb.h
|
||||
+++ b/board/tqc/common/tqc_bb.h
|
||||
@@ -64,4 +64,10 @@ int tqc_pcf85063_set_clkout(int bus, int address, uint8_t clkout);
|
||||
int tqc_pcf85063_set_offset(int bus, int address, bool mode, int offset);
|
||||
#endif /* CONFIG_TQC_RTC */
|
||||
|
||||
+#if IS_ENABLED(CONFIG_TQC_DISTRO)
|
||||
+void tqc_distro_env_init(const char *boot_devtype);
|
||||
+#else
|
||||
+static inline void tqc_distro_env_init(const char *boot_devtype) {}
|
||||
+#endif
|
||||
+
|
||||
#endif
|
||||
diff --git a/board/tqc/common/tqc_distro.c b/board/tqc/common/tqc_distro.c
|
||||
new file mode 100644
|
||||
index 0000000000..fc525e24c6
|
||||
--- /dev/null
|
||||
+++ b/board/tqc/common/tqc_distro.c
|
||||
@@ -0,0 +1,37 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
+/*
|
||||
+ * Copyright (c) 2023 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
+ * D-82229 Seefeld, Germany.
|
||||
+ * Author: Matthias Schiffer
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <mmc.h>
|
||||
+
|
||||
+/*
|
||||
+ * Set up boot_targets for distroboot automatically
|
||||
+ *
|
||||
+ * If boot_targets_auto is set to "yes", boot_targets will be set to the
|
||||
+ * correct device based on the environment device (which should be configured
|
||||
+ * to be the boot device). Currently, this works for MMC devices.
|
||||
+ */
|
||||
+void tqc_distro_env_init(const char *boot_devtype)
|
||||
+{
|
||||
+ if (strcmp(env_get("boot_targets_auto") ?: "", "yes") != 0)
|
||||
+ return;
|
||||
+
|
||||
+ if (strcmp(boot_devtype, "mmc") == 0) {
|
||||
+ int index = 0;
|
||||
+ char buf[10];
|
||||
+
|
||||
+#ifdef CONFIG_ENV_IS_IN_MMC
|
||||
+ index = mmc_get_env_dev();
|
||||
+#endif
|
||||
+
|
||||
+ snprintf(buf, sizeof(buf), "mmc%d", index);
|
||||
+ env_set("boot_targets", buf);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ env_set("boot_targets", boot_devtype);
|
||||
+}
|
||||
diff --git a/board/tqc/tqma8mpxl/tqma8mpxl.c b/board/tqc/tqma8mpxl/tqma8mpxl.c
|
||||
index f410c999ef..2c7b2b115c 100644
|
||||
--- a/board/tqc/tqma8mpxl/tqma8mpxl.c
|
||||
+++ b/board/tqc/tqma8mpxl/tqma8mpxl.c
|
||||
@@ -297,9 +297,12 @@ int board_late_init(void)
|
||||
|
||||
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
env_set("board_name", tqc_bb_get_boardname());
|
||||
- env_set("board_rev", tqc_get_boardname());
|
||||
+ env_set("board_rev", bname);
|
||||
#endif
|
||||
|
||||
+ /* TODO: Add support for detecting non-MMC boot devices */
|
||||
+ tqc_distro_env_init("mmc");
|
||||
+
|
||||
tqc_bb_board_late_init();
|
||||
|
||||
return 0;
|
||||
diff --git a/board/tqc/tqma8mx/tqma8mx.c b/board/tqc/tqma8mx/tqma8mx.c
|
||||
index 25748d4901..8fcd38b5eb 100644
|
||||
--- a/board/tqc/tqma8mx/tqma8mx.c
|
||||
+++ b/board/tqc/tqma8mx/tqma8mx.c
|
||||
@@ -219,9 +219,12 @@ int board_late_init(void)
|
||||
|
||||
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
env_set("board_name", tqc_bb_get_boardname());
|
||||
- env_set("board_rev", tqc_get_boardname());
|
||||
+ env_set("board_rev", bname);
|
||||
#endif
|
||||
|
||||
+ /* TODO: Add support for detecting non-MMC boot devices */
|
||||
+ tqc_distro_env_init("mmc");
|
||||
+
|
||||
return tqc_bb_board_late_init();
|
||||
}
|
||||
|
||||
diff --git a/board/tqc/tqma8mxml/tqma8mxml.c b/board/tqc/tqma8mxml/tqma8mxml.c
|
||||
index 18c04aded2..1ff4dbea4f 100644
|
||||
--- a/board/tqc/tqma8mxml/tqma8mxml.c
|
||||
+++ b/board/tqc/tqma8mxml/tqma8mxml.c
|
||||
@@ -223,9 +223,12 @@ int board_late_init(void)
|
||||
|
||||
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
env_set("board_name", tqc_bb_get_boardname());
|
||||
- env_set("board_rev", tqc_get_boardname());
|
||||
+ env_set("board_rev", bname);
|
||||
#endif
|
||||
|
||||
+ /* TODO: Add support for detecting non-MMC boot devices */
|
||||
+ tqc_distro_env_init("mmc");
|
||||
+
|
||||
return tqc_bb_board_late_init();
|
||||
}
|
||||
|
||||
diff --git a/configs/tqma8mxml_1gb_mba8mx_fspi_defconfig b/configs/tqma8mxml_1gb_mba8mx_fspi_defconfig
|
||||
index 141b273a4e..a8bab81a07 100644
|
||||
--- a/configs/tqma8mxml_1gb_mba8mx_fspi_defconfig
|
||||
+++ b/configs/tqma8mxml_1gb_mba8mx_fspi_defconfig
|
||||
@@ -8,7 +8,6 @@ CONFIG_TQMA8MXX_BOOT_FSPI=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxml_1gb_mba8mx_mfg_defconfig b/configs/tqma8mxml_1gb_mba8mx_mfg_defconfig
|
||||
index b28dc1cc97..6f7773658e 100644
|
||||
--- a/configs/tqma8mxml_1gb_mba8mx_mfg_defconfig
|
||||
+++ b/configs/tqma8mxml_1gb_mba8mx_mfg_defconfig
|
||||
@@ -9,7 +9,6 @@ CONFIG_TQMA8MXX_BOOT_SDCARD=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxml_1gb_mba8mx_mmc_defconfig b/configs/tqma8mxml_1gb_mba8mx_mmc_defconfig
|
||||
index db8c138a52..0b38d87709 100644
|
||||
--- a/configs/tqma8mxml_1gb_mba8mx_mmc_defconfig
|
||||
+++ b/configs/tqma8mxml_1gb_mba8mx_mmc_defconfig
|
||||
@@ -8,7 +8,6 @@ CONFIG_TQMA8MXX_BOOT_SDCARD=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxml_2gb_mba8mx_fspi_defconfig b/configs/tqma8mxml_2gb_mba8mx_fspi_defconfig
|
||||
index 1c558ac3d9..748c35a7ba 100644
|
||||
--- a/configs/tqma8mxml_2gb_mba8mx_fspi_defconfig
|
||||
+++ b/configs/tqma8mxml_2gb_mba8mx_fspi_defconfig
|
||||
@@ -7,7 +7,6 @@ CONFIG_TQMA8MXX_BOOT_FSPI=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxml_2gb_mba8mx_mfg_defconfig b/configs/tqma8mxml_2gb_mba8mx_mfg_defconfig
|
||||
index e0d6c02086..ef248cfeca 100644
|
||||
--- a/configs/tqma8mxml_2gb_mba8mx_mfg_defconfig
|
||||
+++ b/configs/tqma8mxml_2gb_mba8mx_mfg_defconfig
|
||||
@@ -8,7 +8,6 @@ CONFIG_TQMA8MXX_BOOT_SDCARD=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxml_2gb_mba8mx_mmc_defconfig b/configs/tqma8mxml_2gb_mba8mx_mmc_defconfig
|
||||
index 0c9a6cf97b..e27bcfc8fa 100644
|
||||
--- a/configs/tqma8mxml_2gb_mba8mx_mmc_defconfig
|
||||
+++ b/configs/tqma8mxml_2gb_mba8mx_mmc_defconfig
|
||||
@@ -7,7 +7,6 @@ CONFIG_TQMA8MXX_BOOT_SDCARD=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxml_4gb_mba8mx_fspi_defconfig b/configs/tqma8mxml_4gb_mba8mx_fspi_defconfig
|
||||
index 3267f99fbe..bc6ff38907 100644
|
||||
--- a/configs/tqma8mxml_4gb_mba8mx_fspi_defconfig
|
||||
+++ b/configs/tqma8mxml_4gb_mba8mx_fspi_defconfig
|
||||
@@ -8,7 +8,6 @@ CONFIG_TQMA8MXX_BOOT_FSPI=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxml_4gb_mba8mx_mfg_defconfig b/configs/tqma8mxml_4gb_mba8mx_mfg_defconfig
|
||||
index 4b47cff2cf..1e256fc462 100644
|
||||
--- a/configs/tqma8mxml_4gb_mba8mx_mfg_defconfig
|
||||
+++ b/configs/tqma8mxml_4gb_mba8mx_mfg_defconfig
|
||||
@@ -9,7 +9,6 @@ CONFIG_TQMA8MXX_BOOT_SDCARD=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxml_4gb_mba8mx_mmc_defconfig b/configs/tqma8mxml_4gb_mba8mx_mmc_defconfig
|
||||
index 94855ceb6a..27fa14119a 100644
|
||||
--- a/configs/tqma8mxml_4gb_mba8mx_mmc_defconfig
|
||||
+++ b/configs/tqma8mxml_4gb_mba8mx_mmc_defconfig
|
||||
@@ -8,7 +8,6 @@ CONFIG_TQMA8MXX_BOOT_SDCARD=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxnl_1gb_mba8mx_defconfig b/configs/tqma8mxnl_1gb_mba8mx_defconfig
|
||||
index 97f510ec2a..4a0c36d5a7 100644
|
||||
--- a/configs/tqma8mxnl_1gb_mba8mx_defconfig
|
||||
+++ b/configs/tqma8mxnl_1gb_mba8mx_defconfig
|
||||
@@ -6,7 +6,6 @@ CONFIG_TARGET_TQMA8MXNL=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/configs/tqma8mxnl_1gb_mba8mx_mfg_defconfig b/configs/tqma8mxnl_1gb_mba8mx_mfg_defconfig
|
||||
index 34c68bbd1f..7f93b46dc1 100644
|
||||
--- a/configs/tqma8mxnl_1gb_mba8mx_mfg_defconfig
|
||||
+++ b/configs/tqma8mxnl_1gb_mba8mx_mfg_defconfig
|
||||
@@ -7,7 +7,6 @@ CONFIG_TQMA8MXX_MFG_SUPPORT=y
|
||||
CONFIG_IMX_BOOTAUX=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
diff --git a/doc/board/tq/examples/boot-legacy.cmd b/doc/board/tq/examples/boot-legacy.cmd
|
||||
new file mode 100644
|
||||
index 0000000000..63445aadaa
|
||||
--- /dev/null
|
||||
+++ b/doc/board/tq/examples/boot-legacy.cmd
|
||||
@@ -0,0 +1,26 @@
|
||||
+test "${rootpart}" || setenv rootpart 2
|
||||
+
|
||||
+# devtype/devnum are part of the distroboot contract
|
||||
+if test "${devtype}" = mmc; then
|
||||
+ # Explicitly set device path, so the correct rootfs is used even when
|
||||
+ # the same image has been written to eMMC and SD-card
|
||||
+ setenv rootdev "/dev/mmcblk${devnum}p${rootpart}"
|
||||
+else
|
||||
+ # Generic fallback for other boot media like USB/SATA/... drives.
|
||||
+ # Requires a unique partition UUID to work as expected.
|
||||
+ part uuid ${devtype} ${devnum}:${rootpart} rootuuid
|
||||
+ setenv rootdev "PARTUUID=${rootuuid}"
|
||||
+fi
|
||||
+setenv bootargs_root "root=${rootdev}"
|
||||
+
|
||||
+# Set bootargs for additional arguments, or override bootargs_default
|
||||
+# to replace the cmdline completely
|
||||
+test "${bootargs_default}" || bootargs_default="${bootargs_root} rootwait rw console=${console},${baudrate}"
|
||||
+setenv bootargs "${bootargs_default} ${bootargs}"
|
||||
+
|
||||
+test "${bootfile}" || bootfile='/Image'
|
||||
+test "${boottype}" || boottype='booti'
|
||||
+
|
||||
+load "${devtype}" "${devnum}:${bootpart}" "${loadaddr}" "${bootfile}" || exit 1
|
||||
+load "${devtype}" "${devnum}:${bootpart}" "${fdt_addr_r}" "${fdtfile}" || exit 1
|
||||
+${boottype} "${loadaddr}" - "${fdt_addr_r}"
|
||||
diff --git a/include/configs/tqma8mxml-mba8mx.h b/include/configs/tqma8mxml-mba8mx.h
|
||||
index 1dac176bc3..62fff364bf 100644
|
||||
--- a/include/configs/tqma8mxml-mba8mx.h
|
||||
+++ b/include/configs/tqma8mxml-mba8mx.h
|
||||
@@ -14,9 +14,12 @@
|
||||
|
||||
#define BB_ENV_SETTINGS \
|
||||
"console=" CONSOLE_DEV "\0" \
|
||||
- "addearlycon=setenv bootargs ${bootargs} " \
|
||||
- "earlycon=ec_imx6q," __stringify(CONFIG_MXC_UART_BASE) \
|
||||
- ",${baudrate}\0" \
|
||||
- "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0"
|
||||
+ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0"
|
||||
+
|
||||
+#define BOOT_TARGET_DEVICES(func) \
|
||||
+ func(MMC, mmc, 0) \
|
||||
+ func(MMC, mmc, 1) \
|
||||
+ func(PXE, pxe, na) \
|
||||
+ func(DHCP, dhcp, na)
|
||||
|
||||
#endif /* __TQMA8MXML_MBA8MX_H */
|
||||
diff --git a/include/configs/tqma8mxml.h b/include/configs/tqma8mxml.h
|
||||
index 647b177cb3..f850ad7a12 100644
|
||||
--- a/include/configs/tqma8mxml.h
|
||||
+++ b/include/configs/tqma8mxml.h
|
||||
@@ -10,7 +10,8 @@
|
||||
|
||||
#include <linux/sizes.h>
|
||||
#include <asm/arch/imx-regs.h>
|
||||
-#include "imx_env.h"
|
||||
+#include <config_distro_bootcmd.h>
|
||||
+#include <environment/tq/boot.h>
|
||||
|
||||
#define CONFIG_SPL_MAX_SIZE (208 * 1024)
|
||||
#define CONFIG_SYS_MONITOR_LEN SZ_512K
|
||||
@@ -71,13 +72,6 @@
|
||||
|
||||
#define CONFIG_REMAKE_ELF
|
||||
|
||||
-#define CONFIG_MFG_ENV_SETTINGS \
|
||||
- CONFIG_MFG_ENV_SETTINGS_DEFAULT \
|
||||
- "initrd_addr=0x43800000\0" \
|
||||
- "initrd_high=0xffffffffffffffff\0" \
|
||||
- "emmc_dev=0\0"\
|
||||
- "sd_dev=1\0" \
|
||||
-
|
||||
#if defined(CONFIG_IMX8MM)
|
||||
|
||||
#define TQMA8MX_CPU_ENV_SETTINGS \
|
||||
@@ -102,193 +96,56 @@
|
||||
#error
|
||||
#endif
|
||||
|
||||
-#if defined(CONFIG_IMX_BOOTAUX)
|
||||
-
|
||||
-/*
|
||||
- * cm_loadaddr is set to ITCM (instruction tightly coupled memory) on i.MX8MN
|
||||
- * or TCML (i.MX8MM) per default.
|
||||
- * cm_maxsize is used to prevent loading too large images. This limit is
|
||||
- * 128 kiByte for i.MX8MM and i.MX8MN
|
||||
- * Size and base address can be changed to RAM address or SPI NOR if larger
|
||||
- * images are needed. In this case further adaption is needed.
|
||||
- */
|
||||
-#define TQMA8MXML_CM_ENV_SETTINGS \
|
||||
- "cm_image=cm.bin\0" \
|
||||
- "cm_loadaddr=0x7e0000\0" \
|
||||
- "cm_maxsize=0x20000\0" \
|
||||
- "boot_cm_mmc=if load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}/${cm_image}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "if itest ${filesize} <= ${cm_maxsize}; then " \
|
||||
- "cp.b ${loadaddr} ${cm_loadaddr} " \
|
||||
- "${filesize};" \
|
||||
- "dcache flush; " \
|
||||
- "bootaux ${cm_loadaddr}; " \
|
||||
- "else " \
|
||||
- "echo ${filesize} > ${cm_maxsize}; " \
|
||||
- "false; " \
|
||||
- "fi; " \
|
||||
- "else " \
|
||||
- "echo invalid data size; " \
|
||||
- "false; " \
|
||||
- "fi; " \
|
||||
- "else " \
|
||||
- "echo file not loaded; " \
|
||||
- "false; " \
|
||||
- "fi; setenv filesize;\0" \
|
||||
- "update_cm_mmc=run set_getcmd; " \
|
||||
- "if ${get_cmd} ${cm_image}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "echo Write CM image to mmc ...; " \
|
||||
- "save mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${cm_image} ${filesize}; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "setenv filesize; setenv get_cmd\0"
|
||||
-#else
|
||||
-
|
||||
-#define TQMA8MXML_CM_ENV_SETTINGS
|
||||
-
|
||||
-#endif
|
||||
-
|
||||
/* Initial environment variables */
|
||||
-#define TQMA8MX_MODULE_ENV_SETTINGS \
|
||||
+#define TQMA8MX_MODULE_ENV_SETTINGS \
|
||||
TQMA8MX_CPU_ENV_SETTINGS \
|
||||
- CONFIG_MFG_ENV_SETTINGS \
|
||||
- "script=boot.scr\0" \
|
||||
- "image=Image\0" \
|
||||
- "fdt_addr=0x43000000\0" \
|
||||
- "fdt_high=0xffffffffffffffff\0" \
|
||||
- "boot_fdt=try\0" \
|
||||
- "initrd_addr=0x43800000\0" \
|
||||
- "initrd_high=0xffffffffffffffff\0" \
|
||||
- "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
|
||||
- "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
|
||||
- "mmcpath=/\0" \
|
||||
+ "kernel_addr_r=0x44000000\0" \
|
||||
+ "fdt_addr_r=0x46000000\0" \
|
||||
+ "initrd_addr_r=0x47000000\0" \
|
||||
+ "scriptaddr=0x50000000\0" \
|
||||
+ "pxefile_addr_r=0x51000000\0" \
|
||||
+ "emmc_dev=0\0" /* for UUU */ \
|
||||
+ "sd_dev=1\0" /* for UUU */ \
|
||||
+ "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" /* for update_*_mmc */ \
|
||||
+ "bootpart=" __stringify(CONFIG_SYS_MMCSD_FS_BOOT_PARTITION) "\0" /* for update_cm_mmc */ \
|
||||
+ "mmcpath=/\0" /* for update_cm_mmc */ \
|
||||
"mmcautodetect=yes\0" \
|
||||
- "loadbootscript=mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${script};\0" \
|
||||
- "bootscript=echo Running bootscript from mmc ...; " \
|
||||
- "source\0" \
|
||||
- "loadimage=mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${image}\0" \
|
||||
- "loadfdt=mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "load mmc ${mmcdev}:${mmcpart} ${fdt_addr} " \
|
||||
- "${mmcpath}${fdt_file}\0" \
|
||||
- "boot_os=booti ${loadaddr} - ${fdt_addr};\0" \
|
||||
- "mmcboot=echo Booting from mmc ...; " \
|
||||
- "setenv bootargs; " \
|
||||
- "run mmcargs; " \
|
||||
- "run loadimage; " \
|
||||
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
|
||||
- "if run loadfdt; then " \
|
||||
- "run boot_os; " \
|
||||
- "else " \
|
||||
- "echo WARN: Cannot load the DT; " \
|
||||
- "fi; " \
|
||||
- "else " \
|
||||
- "echo wait for boot; " \
|
||||
- "fi;\0" \
|
||||
- "netboot=echo Booting from net ...; " \
|
||||
- "setenv bootargs; " \
|
||||
- "run netargs; " \
|
||||
- "run set_getcmd; " \
|
||||
- "${get_cmd} ${loadaddr} ${image}; " \
|
||||
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
|
||||
- "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
|
||||
- "run boot_os; " \
|
||||
- "else " \
|
||||
- "echo WARN: Cannot load the DT; " \
|
||||
- "fi; " \
|
||||
- "else " \
|
||||
- "booti; " \
|
||||
- "fi;\0" \
|
||||
- "update_kernel_mmc=run set_getcmd; " \
|
||||
- "if ${get_cmd} ${image}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "echo Write kernel image to mmc ${mmcdev}:${mmcpart}...; " \
|
||||
- "mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "save mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${image} ${filesize}; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "setenv filesize; setenv get_cmd \0" \
|
||||
- "update_fdt_mmc=run set_getcmd; " \
|
||||
- "if ${get_cmd} ${fdt_file}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "echo Write fdt image to mmc ${mmcdev}:${mmcpart}...; " \
|
||||
- "mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "save mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${fdt_file} ${filesize}; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "setenv filesize; setenv get_cmd \0" \
|
||||
- "uboot=bootstream.bin\0" \
|
||||
- "update_uboot_mmc=run set_getcmd; if ${get_cmd} ${uboot}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "echo Write u-boot image to mmc ${mmcdev} ...; " \
|
||||
- "mmc dev ${mmcdev}; mmc rescan; " \
|
||||
- "setexpr blkc ${filesize} + 0x1ff; " \
|
||||
- "setexpr blkc ${blkc} / 0x200; " \
|
||||
- "if itest ${blkc} <= ${uboot_mmc_size}; then " \
|
||||
- "mmc write ${loadaddr} ${uboot_mmc_start} " \
|
||||
- "${blkc}; " \
|
||||
- "fi; " \
|
||||
- "fi; fi; " \
|
||||
- "setenv filesize; setenv blkc \0" \
|
||||
- "update_uboot_spi=run set_getcmd; if ${get_cmd} ${uboot}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "echo Write u-boot image to flexspi ...; " \
|
||||
- "if itest ${filesize} <= ${uboot_fspi_size}; then " \
|
||||
- "if sf probe; then " \
|
||||
- "sf update ${loadaddr} " \
|
||||
- "${uboot_fspi_start} " \
|
||||
- "${filesize}; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "fi; fi; " \
|
||||
- "setenv filesize \0" \
|
||||
- "set_getcmd=if test \"${ip_dyn}\" = yes; then " \
|
||||
- "setenv get_cmd dhcp; " \
|
||||
- "else " \
|
||||
- "setenv get_cmd tftp; " \
|
||||
- "fi; \0" \
|
||||
- "rootfsmode=ro\0" \
|
||||
- "addtty=setenv bootargs ${bootargs} console=${console},${baudrate}\0" \
|
||||
- "mmcrootpart=2\0" \
|
||||
- "addmmc=setenv bootargs ${bootargs} " \
|
||||
- "root=/dev/mmcblk${mmcblkdev}p${mmcrootpart} ${rootfsmode} " \
|
||||
- "rootwait\0" \
|
||||
- "mmcargs=run addtty addearlycon addmmc\0" \
|
||||
- "netargs=run addnfs addip addtty addearlycon\0" \
|
||||
- "addnfs=setenv bootargs ${bootargs} " \
|
||||
- "root=/dev/nfs rw " \
|
||||
- "nfsroot=${serverip}:${rootpath},v3,tcp;\0" \
|
||||
- "netdev=eth0\0" \
|
||||
- "rootpath=/srv/nfs\0" \
|
||||
- "ipmode=static\0" \
|
||||
- "addip_static=setenv bootargs ${bootargs} " \
|
||||
- "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:" \
|
||||
- "${hostname}:${netdev}:off\0" \
|
||||
- "addip_dynamic=setenv bootargs ${bootargs} ip=dhcp\0" \
|
||||
- "addip=if test \"${ipmode}\" != static; then " \
|
||||
- "run addip_dynamic; else run addip_static; fi\0"
|
||||
-
|
||||
-#if !defined(CONFIG_BOOTCOMMAND)
|
||||
-#define CONFIG_BOOTCOMMAND \
|
||||
- "mmc dev ${mmcdev}; if mmc rescan; then " \
|
||||
- "if run loadbootscript; then " \
|
||||
- "run bootscript; " \
|
||||
- "else " \
|
||||
- "if run loadimage; then " \
|
||||
- "run mmcboot; " \
|
||||
- "else run netboot; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "else run boot_os; fi"
|
||||
-#endif
|
||||
+ "boot_targets_auto=yes\0" \
|
||||
+ "uboot=bootstream.bin\0" /* for update_uboot_* */ \
|
||||
+ "update_uboot_mmc=" \
|
||||
+ "run check_ipaddr; " \
|
||||
+ "tftp ${uboot} || exit 1; " \
|
||||
+ "itest ${filesize} > 0 || exit 1; " \
|
||||
+ "echo \"Writing u-boot image to mmc ${mmcdev} ...\"; " \
|
||||
+ "mmc dev ${mmcdev}; mmc rescan; " \
|
||||
+ "setexpr tmp ${filesize} + 0x1ff; setexpr tmp ${tmp} / 0x200; blkc=${tmp}; " \
|
||||
+ "setenv filesize; setenv tmp; " \
|
||||
+ "if itest ${blkc} > ${uboot_mmc_size}; then " \
|
||||
+ "echo \"U-Boot image too large (${blkc} > ${uboot_mmc_size} sectors)\"; " \
|
||||
+ "exit 1; " \
|
||||
+ "fi; " \
|
||||
+ "mmc write ${loadaddr} ${uboot_mmc_start} ${blkc}\0" \
|
||||
+ "update_uboot_spi=" \
|
||||
+ "run check_ipaddr; " \
|
||||
+ "tftp ${uboot} || exit 1; " \
|
||||
+ "itest ${filesize} > 0 || exit 1; " \
|
||||
+ "echo 'Writing u-boot image to flexspi ...'; " \
|
||||
+ "if itest ${filesize} > ${uboot_fspi_size}; then " \
|
||||
+ "echo \"U-Boot image too large " \
|
||||
+ "(${filesize} > ${uboot_fspi_size} bytes)\"; " \
|
||||
+ "exit 1; " \
|
||||
+ "fi; " \
|
||||
+ "sf probe && sf update ${loadaddr} ${uboot_fspi_start} ${filesize}; " \
|
||||
+ "setenv filesize\0" \
|
||||
+ "cm_image=cm.bin\0" \
|
||||
+ "update_cm_mmc=" \
|
||||
+ "run check_ipaddr; " \
|
||||
+ "tftp ${cm_image} || exit 1; " \
|
||||
+ "itest ${filesize} > 0 || exit 1; " \
|
||||
+ "echo \"Writing CM image to mmc ${mmcdev}:${bootpart} ${mmcpath}${cm_image} ...\"; "\
|
||||
+ "save mmc ${mmcdev}:${bootpart} ${loadaddr} ${mmcpath}${cm_image} ${filesize}; " \
|
||||
+ "setenv filesize\0" \
|
||||
+ ""
|
||||
|
||||
/* Link Definitions */
|
||||
#define CONFIG_LOADADDR 0x40480000
|
||||
@@ -309,7 +166,6 @@
|
||||
*/
|
||||
#define CONFIG_SYS_MMC_ENV_DEV -1 /* invalid */
|
||||
#define CONFIG_SYS_MMC_ENV_PART 0 /* user area */
|
||||
-#define CONFIG_SYS_MMC_IMG_LOAD_PART 1
|
||||
|
||||
/* Size of malloc() pool */
|
||||
#define CONFIG_SYS_MALLOC_LEN SZ_64M
|
||||
@@ -389,16 +245,10 @@
|
||||
#error
|
||||
#endif
|
||||
|
||||
-#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
- TQMA8MXML_CM_ENV_SETTINGS \
|
||||
- TQMA8MX_MODULE_ENV_SETTINGS \
|
||||
+#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
+ TQ_BOOT_ENV_SETTINGS \
|
||||
+ BOOTENV \
|
||||
+ TQMA8MX_MODULE_ENV_SETTINGS \
|
||||
BB_ENV_SETTINGS
|
||||
|
||||
-#ifndef CONFIG_SPL_BUILD
|
||||
-#define BOOT_TARGET_DEVICES(func) \
|
||||
- func(MMC, mmc, 0) \
|
||||
- func(USB, usb, 0)
|
||||
-#include <config_distro_bootcmd.h>
|
||||
-#endif
|
||||
-
|
||||
#endif /* __TQMA8MXML_H */
|
||||
diff --git a/include/environment/tq/boot.h b/include/environment/tq/boot.h
|
||||
new file mode 100644
|
||||
index 0000000000..f940bea14d
|
||||
--- /dev/null
|
||||
+++ b/include/environment/tq/boot.h
|
||||
@@ -0,0 +1,21 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
+/*
|
||||
+ * Copyright (c) 2023 TQ-Systems GmbH <u-boot@ew.tq-group.com>,
|
||||
+ * D-82229 Seefeld, Germany.
|
||||
+ * Author: Matthias Schiffer
|
||||
+ *
|
||||
+ * Common boot helpers for TQ-Systems default environments
|
||||
+ */
|
||||
+
|
||||
+#ifndef __TQ_BOOT_H
|
||||
+#define __TQ_BOOT_H
|
||||
+
|
||||
+#define CONFIG_SYS_AUTOLOAD "no"
|
||||
+
|
||||
+#define TQ_BOOT_ENV_SETTINGS \
|
||||
+ "check_ipaddr=" \
|
||||
+ "if test \"${ipaddr}\" && test \"${serverip}\"; then exit; fi; " \
|
||||
+ "echo 'ipaddr or serverip unset, falling back to DHCP...'; " \
|
||||
+ "dhcp\0"
|
||||
+
|
||||
+#endif /* __TQ_BOOT_H */
|
||||
--
|
||||
2.34.1
|
||||
|
||||
365
patch/u-boot/u-boot-tqma/0002-tqma8mpxl-enable-distro-boot.patch
Normal file
365
patch/u-boot/u-boot-tqma/0002-tqma8mpxl-enable-distro-boot.patch
Normal file
@@ -0,0 +1,365 @@
|
||||
From b5f1593eac18b7aa5f9653bcebacaff377318046 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
Date: Mon, 9 Oct 2023 09:50:48 +0200
|
||||
Subject: [PATCH] tqma8mpxl: enable distro boot
|
||||
|
||||
Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
|
||||
---
|
||||
.../tqma8mpxl_multi_mba8mp_ras314_defconfig | 3 +-
|
||||
configs/tqma8mpxl_multi_mba8mpxl_defconfig | 2 +-
|
||||
include/configs/tqma8mpxl-mba8mp-ras314.h | 8 +-
|
||||
include/configs/tqma8mpxl-mba8mpxl.h | 8 +-
|
||||
include/configs/tqma8mpxl.h | 227 ++----------------
|
||||
5 files changed, 40 insertions(+), 208 deletions(-)
|
||||
|
||||
diff --git a/configs/tqma8mpxl_multi_mba8mp_ras314_defconfig b/configs/tqma8mpxl_multi_mba8mp_ras314_defconfig
|
||||
index 0cd4aee354..2b84636312 100644
|
||||
--- a/configs/tqma8mpxl_multi_mba8mp_ras314_defconfig
|
||||
+++ b/configs/tqma8mpxl_multi_mba8mp_ras314_defconfig
|
||||
@@ -15,7 +15,6 @@ CONFIG_FIT_SIGNATURE=y
|
||||
CONFIG_FIT_CIPHER=y
|
||||
CONFIG_LEGACY_IMAGE_FORMAT=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_CMD_LICENSE=y
|
||||
@@ -53,7 +52,9 @@ CONFIG_SYSRESET=y
|
||||
CONFIG_SYSRESET_PSCI=y
|
||||
CONFIG_NXP_TMU=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
+CONFIG_FAT_WRITE=y
|
||||
CONFIG_DYNAMIC_CRC_TABLE=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_FDT_FIXUP_PARTITIONS=y
|
||||
CONFIG_LMB_MAX_REGIONS=16
|
||||
+CONFIG_CMD_IMPORTENV=y
|
||||
diff --git a/configs/tqma8mpxl_multi_mba8mpxl_defconfig b/configs/tqma8mpxl_multi_mba8mpxl_defconfig
|
||||
index d020405a6b..db20a5c897 100644
|
||||
--- a/configs/tqma8mpxl_multi_mba8mpxl_defconfig
|
||||
+++ b/configs/tqma8mpxl_multi_mba8mpxl_defconfig
|
||||
@@ -14,7 +14,6 @@ CONFIG_FIT_SIGNATURE=y
|
||||
CONFIG_FIT_CIPHER=y
|
||||
CONFIG_LEGACY_IMAGE_FORMAT=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
-CONFIG_BOOTCOMMAND="run mmcboot"
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_ARCH_MISC_INIT=y
|
||||
CONFIG_CMD_LICENSE=y
|
||||
@@ -57,3 +56,4 @@ CONFIG_DYNAMIC_CRC_TABLE=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_FDT_FIXUP_PARTITIONS=y
|
||||
CONFIG_LMB_MAX_REGIONS=16
|
||||
+CONFIG_CMD_IMPORTENV=y
|
||||
diff --git a/include/configs/tqma8mpxl-mba8mp-ras314.h b/include/configs/tqma8mpxl-mba8mp-ras314.h
|
||||
index 9a38680c83..7eef5bedff 100644
|
||||
--- a/include/configs/tqma8mpxl-mba8mp-ras314.h
|
||||
+++ b/include/configs/tqma8mpxl-mba8mp-ras314.h
|
||||
@@ -27,6 +27,12 @@
|
||||
|
||||
#define BB_ENV_SETTINGS \
|
||||
"console=" CONSOLE_DEV "\0" \
|
||||
- "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0"
|
||||
+ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0"
|
||||
+
|
||||
+#define BOOT_TARGET_DEVICES(func) \
|
||||
+ func(MMC, mmc, 0) \
|
||||
+ func(MMC, mmc, 1) \
|
||||
+ func(PXE, pxe, na) \
|
||||
+ func(DHCP, dhcp, na)
|
||||
|
||||
#endif /* __TQMA8MPXL_MBA8MPRAS314_H */
|
||||
diff --git a/include/configs/tqma8mpxl-mba8mpxl.h b/include/configs/tqma8mpxl-mba8mpxl.h
|
||||
index f652a02eba..351c13ad94 100644
|
||||
--- a/include/configs/tqma8mpxl-mba8mpxl.h
|
||||
+++ b/include/configs/tqma8mpxl-mba8mpxl.h
|
||||
@@ -27,6 +27,12 @@
|
||||
|
||||
#define BB_ENV_SETTINGS \
|
||||
"console=" CONSOLE_DEV "\0" \
|
||||
- "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0"
|
||||
+ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0"
|
||||
+
|
||||
+#define BOOT_TARGET_DEVICES(func) \
|
||||
+ func(MMC, mmc, 0) \
|
||||
+ func(MMC, mmc, 1) \
|
||||
+ func(PXE, pxe, na) \
|
||||
+ func(DHCP, dhcp, na)
|
||||
|
||||
#endif /* __TQMA8MPXL_MBA8MPXL_H */
|
||||
diff --git a/include/configs/tqma8mpxl.h b/include/configs/tqma8mpxl.h
|
||||
index 6e832128db..4a31298461 100644
|
||||
--- a/include/configs/tqma8mpxl.h
|
||||
+++ b/include/configs/tqma8mpxl.h
|
||||
@@ -10,10 +10,12 @@
|
||||
|
||||
#include <linux/sizes.h>
|
||||
#include <asm/arch/imx-regs.h>
|
||||
-#include "imx_env.h"
|
||||
+#include <config_distro_bootcmd.h>
|
||||
+#include <environment/tq/boot.h>
|
||||
|
||||
#define CONFIG_SPL_MAX_SIZE (152 * 1024)
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 * 1024)
|
||||
+
|
||||
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
|
||||
/*
|
||||
* 0x300 sectors -> 384 k -> 0x60000: offset of FIT image created with
|
||||
@@ -23,13 +25,12 @@
|
||||
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
|
||||
/*
|
||||
* we use spl_nor to read FIT image created with imx-mkimage from QSPI
|
||||
- * using memory mapped read. Offset is the same as for SD / e-MMC
|
||||
+ * using memory mapped read. Needs SPL_NOR_SUPPORT to be set!
|
||||
*/
|
||||
#define CONFIG_SYS_UBOOT_BASE (QSPI0_AMBA_BASE + \
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 512)
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
-
|
||||
#define CONFIG_SPL_STACK 0x187FF0 /* OCRAM_S */
|
||||
#define CONFIG_SPL_BSS_START_ADDR 0x0095e000 /* OCRAM, after code */
|
||||
#define CONFIG_SPL_BSS_MAX_SIZE 0x2000 /* 8 KB */
|
||||
@@ -53,198 +54,25 @@
|
||||
|
||||
#define CONFIG_REMAKE_ELF
|
||||
|
||||
-/* TODO: JAILHOUSE support */
|
||||
-
|
||||
-#define CONFIG_MFG_ENV_SETTINGS \
|
||||
- CONFIG_MFG_ENV_SETTINGS_DEFAULT \
|
||||
- "initrd_addr=0x43800000\0" \
|
||||
- "initrd_high=0xffffffffffffffff\0" \
|
||||
- "emmc_dev=0\0"\
|
||||
- "sd_dev=1\0" \
|
||||
-
|
||||
-#if defined(CONFIG_IMX_BOOTAUX)
|
||||
-
|
||||
-/*
|
||||
- * cm_loadaddr is set to TCML per default.
|
||||
- * cm_maxsize is used to prevent loading too large images. This limit is
|
||||
- * 128 kiByte for TCML.
|
||||
- * Size and base address can be changed to RAM address or SPI NOR if larger
|
||||
- * images are needed. In this case further adaption is needed.
|
||||
- */
|
||||
-#define CM_ENV_SETTINGS \
|
||||
- "cm_image=cm.bin\0" \
|
||||
- "cm_loadaddr=0x7e0000\0" \
|
||||
- "cm_maxsize=0x20000\0" \
|
||||
- "boot_cm_mmc=mmc dev ${mmcdev}; mmc rescan; " \
|
||||
- "if load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}/${cm_image}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "if itest ${filesize} <= ${cm_maxsize}; then " \
|
||||
- "cp.b ${loadaddr} ${cm_loadaddr} " \
|
||||
- "${filesize};" \
|
||||
- "dcache flush; " \
|
||||
- "bootaux ${cm_loadaddr}; " \
|
||||
- "else " \
|
||||
- "echo ${filesize} > ${cm_maxsize}; " \
|
||||
- "false; " \
|
||||
- "fi; " \
|
||||
- "else " \
|
||||
- "echo invalid data size; " \
|
||||
- "false; " \
|
||||
- "fi; " \
|
||||
- "else " \
|
||||
- "echo file not loaded; " \
|
||||
- "false; " \
|
||||
- "fi; setenv filesize;\0" \
|
||||
- "update_cm_mmc=run set_getcmd; " \
|
||||
- "if ${get_cmd} ${cm_image}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "mmc dev ${mmcdev}; mmc rescan; " \
|
||||
- "echo Write CM image to mmc ...; " \
|
||||
- "save mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${cm_image} ${filesize}; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "setenv filesize; setenv get_cmd\0"
|
||||
-
|
||||
-#else
|
||||
-
|
||||
-#define CM_ENV_SETTINGS
|
||||
-
|
||||
-#endif
|
||||
-
|
||||
/* Initial environment variables */
|
||||
#define MODULE_ENV_SETTINGS \
|
||||
- CONFIG_MFG_ENV_SETTINGS \
|
||||
- "script=boot.scr\0" \
|
||||
- "image=Image\0" \
|
||||
- "splashimage=0x50000000\0" \
|
||||
- "fdt_addr=0x43000000\0" \
|
||||
- "boot_fit=no\0" \
|
||||
- "initrd_addr=0x43800000\0" \
|
||||
- "initrd_high=0xffffffffffffffff\0" \
|
||||
- "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
|
||||
- "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
|
||||
- "mmcpath=/\0" \
|
||||
+ "uboot_mmc_start=0x40\0" \
|
||||
+ "uboot_mmc_size=0xfc0\0" \
|
||||
+ "uboot_fspi_start=0x0\0" \
|
||||
+ "uboot_fspi_size=0x400000\0" \
|
||||
+ "fdt_addr_r=0x44000000\0" \
|
||||
+ "kernel_addr_r=0x42000000\0" \
|
||||
+ "ramdisk_addr_r=0x46400000\0" \
|
||||
+ "scriptaddr=0x46000000\0" \
|
||||
+ "pxefile_addr_r=0x51000000\0" \
|
||||
+ "emmc_dev=0\0" /* for UUU */ \
|
||||
+ "sd_dev=1\0" /* for UUU */ \
|
||||
+ "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" /* for update_*_mmc */ \
|
||||
+ "bootpart=" __stringify(CONFIG_SYS_MMCSD_FS_BOOT_PARTITION) "\0" /* for update_cm_mmc */ \
|
||||
+ "mmcpath=/\0" /* for update_cm_mmc */ \
|
||||
"mmcautodetect=yes\0" \
|
||||
- "loadbootscript=mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${script};\0" \
|
||||
- "bootscript=echo Running bootscript from mmc ...; " \
|
||||
- "source\0" \
|
||||
- "loadimage=mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${image}\0" \
|
||||
- "loadfdt=mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "load mmc ${mmcdev}:${mmcpart} ${fdt_addr} " \
|
||||
- "${mmcpath}${fdt_file}\0" \
|
||||
- "boot_os=booti ${loadaddr} - ${fdt_addr};\0" \
|
||||
- "mmcboot=echo Booting from mmc ...; " \
|
||||
- "setenv bootargs; " \
|
||||
- "run mmcargs; " \
|
||||
- "if test ${boot_fit} = yes || test ${boot_fit} = try; then " \
|
||||
- "bootm ${loadaddr}; " \
|
||||
- "else " \
|
||||
- "if run loadfdt; then " \
|
||||
- "if run loadimage; then " \
|
||||
- "run boot_os; " \
|
||||
- "else " \
|
||||
- "echo WARN: Cannot load the kernel; " \
|
||||
- "fi; " \
|
||||
- "else " \
|
||||
- "echo WARN: Cannot load the DT; " \
|
||||
- "fi; " \
|
||||
- "fi;\0" \
|
||||
- "netboot=echo Booting from net ...; " \
|
||||
- "setenv bootargs; " \
|
||||
- "run netargs; " \
|
||||
- "run set_getcmd; " \
|
||||
- "${get_cmd} ${loadaddr} ${image}; " \
|
||||
- "if test ${boot_fit} = yes || test ${boot_fit} = try; then " \
|
||||
- "bootm ${loadaddr}; " \
|
||||
- "else " \
|
||||
- "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
|
||||
- "run boot_os; " \
|
||||
- "else " \
|
||||
- "echo WARN: Cannot load the DT; " \
|
||||
- "fi; " \
|
||||
- "fi;\0" \
|
||||
- "update_kernel_mmc=run set_getcmd; " \
|
||||
- "if ${get_cmd} ${image}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "echo Write to mmc ${mmcdev}:${mmcpart}...; " \
|
||||
- "mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "save mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${image} ${filesize}; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "setenv filesize; setenv get_cmd \0" \
|
||||
- "update_fdt_mmc=run set_getcmd; " \
|
||||
- "if ${get_cmd} ${fdt_file}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "echo Write to mmc ${mmcdev}:${mmcpart}...; " \
|
||||
- "mmc dev ${mmcdev}; mmc rescan;" \
|
||||
- "save mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
|
||||
- "${mmcpath}${fdt_file} ${filesize}; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "setenv filesize; setenv get_cmd \0" \
|
||||
- "uboot_mmc_start=0x40\0" \
|
||||
- "uboot_mmc_size=0xfc0\0" \
|
||||
- "uboot_fspi_start=0x0\0" \
|
||||
- "uboot_fspi_size=0x400000\0" \
|
||||
- "uboot=bootstream.bin\0" \
|
||||
- "update_uboot_mmc=run set_getcmd; if ${get_cmd} ${uboot}; then " \
|
||||
- "if itest ${filesize} > 0; then " \
|
||||
- "echo Write u-boot image to mmc ${mmcdev} ...; " \
|
||||
- "mmc dev ${mmcdev}; mmc rescan; " \
|
||||
- "setexpr blkc ${filesize} + 0x1ff; " \
|
||||
- "setexpr blkc ${blkc} / 0x200; " \
|
||||
- "if itest ${blkc} <= ${uboot_mmc_size}; then " \
|
||||
- "mmc write ${loadaddr} ${uboot_mmc_start} " \
|
||||
- "${blkc}; " \
|
||||
- "fi; " \
|
||||
- "fi; fi; " \
|
||||
- "setenv filesize; setenv blkc \0" \
|
||||
- "set_getcmd=if test \"${ip_dyn}\" = yes; then " \
|
||||
- "setenv get_cmd dhcp; " \
|
||||
- "else " \
|
||||
- "setenv get_cmd tftp; " \
|
||||
- "fi; \0" \
|
||||
- "rootfsmode=ro\0" \
|
||||
- "addtty=setenv bootargs ${bootargs} console=${console},${baudrate}\0" \
|
||||
- "mmcargs=run addtty addmmc\0" \
|
||||
- "mmcrootpart=2\0" \
|
||||
- "addmmc=setenv bootargs ${bootargs} " \
|
||||
- "root=/dev/mmcblk${mmcblkdev}p${mmcrootpart} ${rootfsmode} " \
|
||||
- "rootwait\0" \
|
||||
- "netargs=run addnfs addip addtty\0" \
|
||||
- "addnfs=setenv bootargs ${bootargs} " \
|
||||
- "root=/dev/nfs rw " \
|
||||
- "nfsroot=${serverip}:${rootpath},v3,tcp;\0" \
|
||||
- "netdev=eth0\0" \
|
||||
- "rootpath=/srv/nfs\0" \
|
||||
- "ipmode=static\0" \
|
||||
- "addip_static=setenv bootargs ${bootargs} " \
|
||||
- "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:" \
|
||||
- "${hostname}:${netdev}:off\0" \
|
||||
- "addip_dynamic=setenv bootargs ${bootargs} ip=dhcp\0" \
|
||||
- "addip=if test \"${ipmode}\" != static; then " \
|
||||
- "run addip_dynamic; else run addip_static; fi\0"
|
||||
-
|
||||
-#if !defined(CONFIG_BOOTCOMMAND)
|
||||
-#define CONFIG_BOOTCOMMAND \
|
||||
- "mmc dev ${mmcdev}; if mmc rescan; then " \
|
||||
- "if run loadbootscript; then " \
|
||||
- "run bootscript; " \
|
||||
- "else " \
|
||||
- "if run loadimage; then " \
|
||||
- "run mmcboot; " \
|
||||
- "else run netboot; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "else run boot_os; fi"
|
||||
-#endif
|
||||
+ "boot_targets_auto=yes\0" \
|
||||
+ ""
|
||||
|
||||
/* Link Definitions */
|
||||
#define CONFIG_LOADADDR 0x40480000
|
||||
@@ -345,21 +173,12 @@
|
||||
#error
|
||||
#endif
|
||||
|
||||
-#include "tqma8-shared-env.h"
|
||||
+#define CONFIG_IMX6_PWM_PER_CLK 24000000
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
- TQMA8_SHARED_ENV_SETTINGS \
|
||||
- CM_ENV_SETTINGS \
|
||||
+ TQ_BOOT_ENV_SETTINGS \
|
||||
+ BOOTENV \
|
||||
MODULE_ENV_SETTINGS \
|
||||
BB_ENV_SETTINGS
|
||||
|
||||
-#ifndef CONFIG_SPL_BUILD
|
||||
-#define BOOT_TARGET_DEVICES(func) \
|
||||
- func(MMC, mmc, 0) \
|
||||
- func(USB, usb, 0)
|
||||
-#include <config_distro_bootcmd.h>
|
||||
-#endif
|
||||
-
|
||||
-#define CONFIG_IMX6_PWM_PER_CLK 24000000
|
||||
-
|
||||
#endif /* __TQMA8MPXL_H */
|
||||
--
|
||||
2.34.1
|
||||
|
||||
Reference in New Issue
Block a user