U-boot2022.07 imx6q 移植 - SPL-DTC-DCD

编译工具:gcc-linaro-13.0.0-2022.09-x86_64_arm-linux-gnueabihf

build.sh

export ARCH=arm
#exprot CROSS_COMPILE=/opt/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
export CROSS_COMPILE=/opt/gcc-linaro-13.0.0-2022.09-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

make -j8 $1

修改board/freescale/mx6sabresd/mx6sabresd.c相关配置,对SPL启动有效

static iomux_v3_cfg_t const usdhc2_pads[] = {
        IOMUX_PADS(PAD_SD2_CLK__SD2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
        IOMUX_PADS(PAD_SD2_CMD__SD2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
        IOMUX_PADS(PAD_SD2_DAT0__SD2_DATA0      | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
        IOMUX_PADS(PAD_SD2_DAT1__SD2_DATA1      | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
        IOMUX_PADS(PAD_SD2_DAT2__SD2_DATA2      | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
        IOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3      | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
//      IOMUX_PADS(PAD_NANDF_D4__SD2_DATA7      | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
//      IOMUX_PADS(PAD_NANDF_D5__SD2_DATA5      | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
//      IOMUX_PADS(PAD_NANDF_D6__SD2_DATA6      | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
//      IOMUX_PADS(PAD_NANDF_D7__SD2_DATA7      | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
//      IOMUX_PADS(PAD_NANDF_D2__GPIO2_IO02     | MUX_PAD_CTRL(NO_PAD_CTRL)), /* CD */
        IOMUX_PADS(PAD_GPIO_4__GPIO1_IO04       | MUX_PAD_CTRL(USDHC_PAD_CTRL)),//CD
};

注意,在修改board/freescale/mx6sabresd/mx6sabresd.c的时候同时修改设备树,对u-boot启动配置有效。

mx6sabresd的设备树包括:

imx6q-sabresd.dts (主文件)

"imx6qdl-sabresd.dtsi"

"imx6q.dtsi"

imx6qdl.dtsi

修改mmc:(tq_eq_imx6q板子没有用到usdhc1,usdhc2(对应sd卡),usdhc3(没有用到),usdhc4对应flash)

i2c1 = &i2c2;
i2c2 = &i2c3;
ipu0 = &ipu1;
//mmc0 = &usdhc1;
//mmc1 = &usdhc2;
//mmc2 = &usdhc3;
//mmc3 = &usdhc4;
mmc0 = &usdhc2;    /*SD card*/
mmc1 = &usdhc3;    /*none*/
mmc2 = &usdhc4;    /*Flash*/
serial0 = &uart1;  /*console*/
erial1 = &uart2;

第一天修改UART1

 修改board/freescale/mx6sabresd/mx6sabresd.c,

1. uart1引脚对应错误。

2. usdhc3(未使用)占用uart1引脚,DAT6_RX、DAT7_TX

static iomux_v3_cfg_t const uart1_pads[] = {
//      IOMUX_PADS(PAD_CSI0_DAT10__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
//      IOMUX_PADS(PAD_CSI0_DAT11__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
        IOMUX_PADS(PAD_SD3_DAT6__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
        IOMUX_PADS(PAD_SD3_DAT7__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
};

static iomux_v3_cfg_t const usdhc3_pads[] = {
        IOMUX_PADS(PAD_SD3_CLK__SD3_CLK   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
        IOMUX_PADS(PAD_SD3_CMD__SD3_CMD   | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
        IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
        IOMUX_PADS(PAD_S
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值