[PATCH] tbs2910: Convert to DM_SERIAL

Soeren Moch smoch at web.de
Tue Mar 15 22:01:13 CET 2022


On 15.03.22 21:47, Fabio Estevam wrote:
> From: Fabio Estevam <festevam at denx.de>
>
> Conversion to DM_SERIAL is mandatory.
>
> Select DM_SERIAL and add a imx6q-tbs2910-u-boot.dtsi file
> that describes the nodes that require dm-pre-reloc, which allows
> the DM model to configure the UART pinctrl early.
>
> Remove the now unneeded board UART initialization.
>
> Signed-off-by: Fabio Estevam <festevam at denx.de>
I will test this within the next few days, please give me a little more
time.

Thanks,
Soeren
> ---
>   arch/arm/dts/imx6q-tbs2910-u-boot.dtsi | 17 +++++++++++++++++
>   arch/arm/dts/imx6qdl.dtsi              |  4 ++--
>   board/tbs/tbs2910/tbs2910.c            | 26 --------------------------
>   configs/tbs2910_defconfig              |  2 +-
>   4 files changed, 20 insertions(+), 29 deletions(-)
>   create mode 100644 arch/arm/dts/imx6q-tbs2910-u-boot.dtsi
>
> diff --git a/arch/arm/dts/imx6q-tbs2910-u-boot.dtsi b/arch/arm/dts/imx6q-tbs2910-u-boot.dtsi
> new file mode 100644
> index 000000000000..65ab052ac2c0
> --- /dev/null
> +++ b/arch/arm/dts/imx6q-tbs2910-u-boot.dtsi
> @@ -0,0 +1,17 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +
> +&aips1 {
> +	u-boot,dm-pre-reloc;
> +};
> +
> +&pinctrl_uart1 {
> +	u-boot,dm-pre-reloc;
> +};
> +
> +&soc {
> +	u-boot,dm-pre-reloc;
> +};
> +
> +&uart1 {
> +	u-boot,dm-pre-reloc;
> +};
> diff --git a/arch/arm/dts/imx6qdl.dtsi b/arch/arm/dts/imx6qdl.dtsi
> index efd89510d512..d89272039b28 100644
> --- a/arch/arm/dts/imx6qdl.dtsi
> +++ b/arch/arm/dts/imx6qdl.dtsi
> @@ -139,7 +139,7 @@
>   		interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
>   	};
>
> -	soc {
> +	soc: soc {
>   		#address-cells = <1>;
>   		#size-cells = <1>;
>   		compatible = "simple-bus";
> @@ -283,7 +283,7 @@
>   			status = "disabled";
>   		};
>
> -		bus at 2000000 { /* AIPS1 */
> +		aips1: bus at 2000000 { /* AIPS1 */
>   			compatible = "fsl,aips-bus", "simple-bus";
>   			#address-cells = <1>;
>   			#size-cells = <1>;
> diff --git a/board/tbs/tbs2910/tbs2910.c b/board/tbs/tbs2910/tbs2910.c
> index faf73cc218c9..3a447ca8a93c 100644
> --- a/board/tbs/tbs2910/tbs2910.c
> +++ b/board/tbs/tbs2910/tbs2910.c
> @@ -22,32 +22,12 @@
>   #include <asm/arch/sys_proto.h>
>   DECLARE_GLOBAL_DATA_PTR;
>
> -#define UART_PAD_CTRL  (PAD_CTL_PUS_100K_UP |			\
> -	PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm |			\
> -	PAD_CTL_SRE_FAST  | PAD_CTL_HYS)
> -
> -static iomux_v3_cfg_t const uart1_pads[] = {
> -	MX6_PAD_CSI0_DAT10__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
> -	MX6_PAD_CSI0_DAT11__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
> -};
> -
> -static iomux_v3_cfg_t const uart2_pads[] = {
> -	MX6_PAD_EIM_D26__UART2_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
> -	MX6_PAD_EIM_D27__UART2_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL),
> -};
> -
>   int dram_init(void)
>   {
>   	gd->ram_size = 2048ul * 1024 * 1024;
>   	return 0;
>   }
>
> -static void setup_iomux_uart(void)
> -{
> -	imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads));
> -	imx_iomux_v3_setup_multiple_pads(uart2_pads, ARRAY_SIZE(uart2_pads));
> -}
> -
>   #ifdef CONFIG_FSL_ESDHC_IMX
>   /* set environment device to boot device when booting from SD */
>   int board_mmc_get_env_dev(int devno)
> @@ -150,12 +130,6 @@ static void setup_display(void)
>   }
>   #endif /* CONFIG_VIDEO_IPUV3 */
>
> -int board_early_init_f(void)
> -{
> -	setup_iomux_uart();
> -	return 0;
> -}
> -
>   #ifdef CONFIG_CMD_BMODE
>   static const struct boot_mode board_boot_modes[] = {
>   	/* 4 bit bus width */
> diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
> index 8a3316056408..63a778a45f0b 100644
> --- a/configs/tbs2910_defconfig
> +++ b/configs/tbs2910_defconfig
> @@ -23,7 +23,6 @@ CONFIG_USE_PREBOOT=y
>   CONFIG_PREBOOT="echo PCI:; pci enum; pci 1; usb start; if hdmidet; then run set_con_hdmi; else run set_con_serial; fi"
>   CONFIG_DEFAULT_FDT_FILE="imx6q-tbs2910.dtb"
>   CONFIG_PRE_CONSOLE_BUFFER=y
> -CONFIG_BOARD_EARLY_INIT_F=y
>   CONFIG_HUSH_PARSER=y
>   CONFIG_SYS_PROMPT="Matrix U-Boot> "
>   # CONFIG_CMD_BDI is not set
> @@ -81,6 +80,7 @@ CONFIG_PINCTRL=y
>   CONFIG_PINCTRL_IMX6=y
>   CONFIG_DM_RTC=y
>   CONFIG_RTC_DS1307=y
> +CONFIG_DM_SERIAL=y
>   CONFIG_MXC_UART=y
>   CONFIG_DM_THERMAL=y
>   CONFIG_IMX_THERMAL=y



More information about the U-Boot mailing list