Hi @AldoG ,
The error the tool shows is that it did not find or is not able to open the uboot file you have specified, please check that the name is correct or it is in the correct directory.
The file is right there in the working directory :
$ ls -l
total 4889500
-rw-r--r-- 1 developer developer 2269136 Jan 20 19:00 imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
And I tried with both following commands :
$ sudo uuu -v -b sd ./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
$ sudo uuu -v -b sd imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
Regarding changes to uboot, yes you'll need to change uboot for your custom design since this will lead to errors later.
For USB adaptation, do you think that without it could I still do the flashing?
Anyway, I also did the adaptation as below but the flashing issue is still there:
a. Disable USB1, switch USB2 from HOST to OTG :
diff --git a/arch/arm/dts/imx8mp-evk.dts b/arch/arm/dts/imx8mp-evk.dts
index fa923d580a..5cff97a2eb 100644
--- a/arch/arm/dts/imx8mp-evk.dts
+++ b/arch/arm/dts/imx8mp-evk.dts
@@ -418,11 +418,11 @@
fsl,phy-comp-dis-tune = <7>;
fsl,pcs-tx-deemph-3p5db = <0x21>;
fsl,phy-pcs-tx-swing-full = <0x7f>;
- status = "okay";
+ status = "disabled";
};
&usb3_0 {
- status = "okay";
+ status = "disabled";
};
&usb_dwc3_0 {
@@ -432,18 +432,17 @@
adp-disable;
usb-role-switch;
role-switch-default-mode = "none";
- status = "okay";
-
- port {
- usb3_drd_sw: endpoint {
- remote-endpoint = <&typec_dr_sw>;
- };
- };
+ status = "disabled";
};
&usb3_phy1 {
+ vbus-power-supply = <&ptn5110>;
fsl,phy-tx-preemp-amp-tune = <3>;
fsl,phy-tx-vref-tune = <0xb>;
+ fsl,phy-tx-vboost-level = <5>;
+ fsl,phy-comp-dis-tune = <7>;
+ fsl,pcs-tx-deemph-3p5db = <0x21>;
+ fsl,phy-pcs-tx-swing-full = <0x7f>;
status = "okay";
};
@@ -452,10 +451,19 @@
};
&usb_dwc3_1 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_usb1_vbus>;
- dr_mode = "host";
+ dr_mode = "otg";
+ hnp-disable;
+ srp-disable;
+ adp-disable;
+ usb-role-switch;
+ role-switch-default-mode = "none";
status = "okay";
+
+ port {
+ usb3_drd_sw: endpoint {
+ remote-endpoint = <&typec_dr_sw>;
+ };
+ };
};
&usdhc2 {
@@ -651,12 +659,6 @@
>;
};
- pinctrl_usb1_vbus: usb1grp {
- fsl,pins = <
- MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR 0x19
- >;
- };
-
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190
b. Remove the USB power port as we do not have it on custom board, update the base address of USB2:
diff --git a/board/freescale/imx8mp_evk/imx8mp_evk.c b/board/freescale/imx8mp_evk/imx8mp_evk.c
index f2826d3981..a0dd907b7b 100644
--- a/board/freescale/imx8mp_evk/imx8mp_evk.c
+++ b/board/freescale/imx8mp_evk/imx8mp_evk.c
@@ -167,7 +167,7 @@ int pd_switch_snk_enable(struct tcpc_port *port)
return -EINVAL;
}
-/* Port2 is the power supply, port 1 does not support power */
+/* Port 2 is not the available, port 1 does not support power */
struct tcpc_port_config port1_config = {
.i2c_bus = 1, /*i2c2*/
.addr = 0x50,
@@ -209,6 +209,7 @@ void ss_mux_select(enum typec_cc_polarity pol)
static int setup_typec(void)
{
int ret;
+#if 0
struct gpio_desc per_12v_desc;
debug("tcpc_init port 2\n");
@@ -235,7 +236,9 @@ static int setup_typec(void)
/* Enable PER 12V regulator */
dm_gpio_set_dir_flags(&per_12v_desc, GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
}
-
+#else
+ debug("tcpc port2 not used\n");
+#endif
debug("tcpc_init port 1\n");
imx_iomux_v3_setup_multiple_pads(ss_mux_gpio, ARRAY_SIZE(ss_mux_gpio));
gpio_request(USB_TYPEC_SEL, "typec_sel");
@@ -247,6 +250,8 @@ static int setup_typec(void)
printf("%s: tcpc port1 init failed, err=%d\n",
__func__, ret);
} else {
+ printf("%s: tcpc port1 init succeeded\n",
+ __func__);
return ret;
}
@@ -283,7 +288,7 @@ static struct dwc3_device dwc3_device_data = {
#else
.maximum_speed = USB_SPEED_SUPER,
#endif
- .base = USB1_BASE_ADDR,
+ .base = USB2_BASE_ADDR,
.dr_mode = USB_DR_MODE_PERIPHERAL,
.index = 0,
.power_down_scale = 2,
Best Regards,
Khang