[U-Boot] [PATCH V4 32/32] imx: add i.MX8QXP MEK board support

Lothar Waßmann LW at KARO-electronics.de
Thu Sep 13 15:55:37 UTC 2018


Hi,

On Wed,  5 Sep 2018 10:12:19 +0800 Peng Fan wrote:
> Add i.MX8QXP MEK board support
> Enabled pinctrl/clk/power domain/mmc/i2c driver.
> Added README file.
> 
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> Cc: Stefano Babic <sbabic at denx.de>
> Cc: Fabio Estevam <fabio.estevam at nxp.com>
> Cc: Anatolij Gustschin <agust at denx.de>
> ---
>  arch/arm/dts/Makefile                     |   2 +
>  arch/arm/dts/fsl-imx8qxp-mek.dts          | 136 ++++++++++++++++++++++++++
>  arch/arm/mach-imx/imx8/Kconfig            |  13 +++
>  board/freescale/imx8qxp_mek/Kconfig       |  14 +++
>  board/freescale/imx8qxp_mek/MAINTAINERS   |   6 ++
>  board/freescale/imx8qxp_mek/Makefile      |   7 ++
>  board/freescale/imx8qxp_mek/README        |  72 ++++++++++++++
>  board/freescale/imx8qxp_mek/imx8qxp_mek.c | 152 +++++++++++++++++++++++++++++
>  board/freescale/mx8mq_evk/README          |  81 ++++++++++++++++
>  configs/imx8qxp_mek_defconfig             |  38 ++++++++
>  include/configs/imx8qxp_mek.h             | 156 ++++++++++++++++++++++++++++++
>  11 files changed, 677 insertions(+)
>  create mode 100644 arch/arm/dts/fsl-imx8qxp-mek.dts
>  create mode 100644 board/freescale/imx8qxp_mek/Kconfig
>  create mode 100644 board/freescale/imx8qxp_mek/MAINTAINERS
>  create mode 100644 board/freescale/imx8qxp_mek/Makefile
>  create mode 100644 board/freescale/imx8qxp_mek/README
>  create mode 100644 board/freescale/imx8qxp_mek/imx8qxp_mek.c
>  create mode 100644 board/freescale/mx8mq_evk/README
>  create mode 100644 configs/imx8qxp_mek_defconfig
>  create mode 100644 include/configs/imx8qxp_mek.h
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index ebfa227262..8df85f3987 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -449,6 +449,8 @@ dtb-$(CONFIG_MX7) += imx7-colibri.dtb \
>  
>  dtb-$(CONFIG_ARCH_MX7ULP) += imx7ulp-evk.dtb
>  
> +dtb-$(CONFIG_ARCH_IMX8) += fsl-imx8qxp-mek.dtb
> +
>  dtb-$(CONFIG_RCAR_GEN3) += \
>  	r8a7795-h3ulcb.dtb \
>  	r8a7795-salvator-x.dtb \
> diff --git a/arch/arm/dts/fsl-imx8qxp-mek.dts b/arch/arm/dts/fsl-imx8qxp-mek.dts
> new file mode 100644
> index 0000000000..5443ef7e4e
> --- /dev/null
> +++ b/arch/arm/dts/fsl-imx8qxp-mek.dts
> @@ -0,0 +1,136 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright 2017-2018 NXP
> + */
> +
> +/dts-v1/;
> +
> +#include "fsl-imx8qxp.dtsi"
> +
> +/ {
> +	model = "Freescale i.MX8QXP MEK";
> +	compatible = "fsl,imx8qxp-mek", "fsl,imx8qxp";
> +
> +	chosen {
> +		bootargs = "console=ttyLP0,115200 earlycon=lpuart32,0x5a060000,115200";
> +		stdout-path = &lpuart0;
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +
> +		reg_usdhc2_vmmc: usdhc2_vmmc {
>
Node names should have '-' rather than '_'.

> +			compatible = "regulator-fixed";
> +			regulator-name = "SD1_SPWR";
> +			regulator-min-microvolt = <3000000>;
> +			regulator-max-microvolt = <3000000>;
> +			gpio = <&gpio4 19 GPIO_ACTIVE_HIGH>;
> +			off-on-delay = <3480>;
> +			enable-active-high;
> +		};
>
regulators should not have a 'simple-bus' container.

When keeping the simple-bus container the individual regulator nodes
require node addresses and 'reg' properties, and the enclosing
simple-bus container requires #address-cells and #size-cells properties.

> +
> +&iomuxc {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_hog>;
> +
> +	imx8qxp-mek {
> +		pinctrl_hog: hoggrp {
> +			fsl,pins = <
> +				SC_P_MCLK_OUT0_ADMA_ACM_MCLK_OUT0	0x0600004c
> +				SC_P_COMP_CTL_GPIO_1V8_3V3_GPIORHB_PAD	0x000514a0
> +			>;
> +		};
> +
> +		pinctrl_ioexp_rst: ioexp_rst_grp {
>
Node names should have '-' rather than '_'.

> +			fsl,pins = <
> +				SC_P_SPI2_SDO_LSIO_GPIO1_IO01	0x06000021
> +			>;
> +		};
> +
> +		pinctrl_lpi2c1: lpi1cgrp {
> +			fsl,pins = <
> +				SC_P_USB_SS3_TC1_ADMA_I2C1_SCL	0x06000021
> +				SC_P_USB_SS3_TC3_ADMA_I2C1_SDA	0x06000021
> +			>;
> +		};
> +
> +		pinctrl_lpuart0: lpuart0grp {
> +			fsl,pins = <
> +				SC_P_UART0_RX_ADMA_UART0_RX	0x06000020
> +				SC_P_UART0_TX_ADMA_UART0_TX	0x06000020
> +			>;
> +		};
> +
> +		pinctrl_usdhc1: usdhc1grp {
> +			fsl,pins = <
> +				SC_P_EMMC0_CLK_CONN_EMMC0_CLK		0x06000041
> +				SC_P_EMMC0_CMD_CONN_EMMC0_CMD		0x00000021
> +				SC_P_EMMC0_DATA0_CONN_EMMC0_DATA0	0x00000021
> +				SC_P_EMMC0_DATA1_CONN_EMMC0_DATA1	0x00000021
> +				SC_P_EMMC0_DATA2_CONN_EMMC0_DATA2	0x00000021
> +				SC_P_EMMC0_DATA3_CONN_EMMC0_DATA3	0x00000021
> +				SC_P_EMMC0_DATA4_CONN_EMMC0_DATA4	0x00000021
> +				SC_P_EMMC0_DATA5_CONN_EMMC0_DATA5	0x00000021
> +				SC_P_EMMC0_DATA6_CONN_EMMC0_DATA6	0x00000021
> +				SC_P_EMMC0_DATA7_CONN_EMMC0_DATA7	0x00000021
> +				SC_P_EMMC0_STROBE_CONN_EMMC0_STROBE	0x00000041
> +			>;
> +		};
> +
> +		pinctrl_usdhc2_gpio: usdhc2gpiogrp {
> +			fsl,pins = <
> +				SC_P_USDHC1_RESET_B_LSIO_GPIO4_IO19	0x00000021
> +				SC_P_USDHC1_WP_LSIO_GPIO4_IO21		0x00000021
> +				SC_P_USDHC1_CD_B_LSIO_GPIO4_IO22	0x00000021
> +			>;
> +		};
> +
> +		pinctrl_usdhc2: usdhc2grp {
> +			fsl,pins = <
> +				SC_P_USDHC1_CLK_CONN_USDHC1_CLK		0x06000041
> +				SC_P_USDHC1_CMD_CONN_USDHC1_CMD		0x00000021
> +				SC_P_USDHC1_DATA0_CONN_USDHC1_DATA0	0x00000021
> +				SC_P_USDHC1_DATA1_CONN_USDHC1_DATA1	0x00000021
> +				SC_P_USDHC1_DATA2_CONN_USDHC1_DATA2	0x00000021
> +				SC_P_USDHC1_DATA3_CONN_USDHC1_DATA3	0x00000021
> +				SC_P_USDHC1_VSELECT_CONN_USDHC1_VSELECT	0x00000021
> +			>;
> +		};
> +	};
> +};
> +
> +&lpuart0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_lpuart0>;
> +	status = "okay";
> +};
> +
> +&i2c1 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
>
These should be defined in the dtsi file where the i2c1 node is defined,
rather than having each user define those properties.



Lothar Waßmann


More information about the U-Boot mailing list