> Subject: [PATCH] pico-imx7d: Convert to DM_VIDEO

Please write something here.
And use x-u-boot.dtsi for uboot specific dts change.

Regards,
Peng.

> 
> Signed-off-by: Joris Offouga <offougajo...@gmail.com>
> ---
>  arch/arm/dts/imx7d-pico.dtsi             | 113
> ++++++++++++++++++++++-
>  board/technexion/pico-imx7d/pico-imx7d.c |  48 ++++------
>  configs/pico-hobbit-imx7d_defconfig      |   2 +-
>  configs/pico-imx7d_bl33_defconfig        |   2 +-
>  configs/pico-imx7d_defconfig             |   2 +-
>  configs/pico-pi-imx7d_defconfig          |   2 +-
>  include/configs/pico-imx7d.h             |   2 +-
>  7 files changed, 134 insertions(+), 37 deletions(-)
> 
> diff --git a/arch/arm/dts/imx7d-pico.dtsi b/arch/arm/dts/imx7d-pico.dtsi
> index 7cd8be24c8..ac72baf347 100644
> --- a/arch/arm/dts/imx7d-pico.dtsi
> +++ b/arch/arm/dts/imx7d-pico.dtsi
> @@ -11,6 +11,7 @@
>       aliases {
>               mmc0 = &usdhc3;
>               usb0 = &usbotg1;
> +             display0 = &lcdif;
>       };
> 
>       /* Will be filled by the bootloader */ @@ -75,6 +76,37 @@
>               clocks = <&clks IMX7D_CLKO2_ROOT_DIV>;
>               clock-names = "ext_clock";
>       };
> +
> +     backlight: backlight {
> +             compatible = "pwm-backlight";
> +             pinctrl-names = "default";
> +             pinctrl-0 = <&pinctrl_backlight>;
> +             pwms = <&pwm4 0 50000 0>;
> +             brightness-levels = <0 36 72 108 144 180 216 255>;
> +             default-brightness-level = <6>;
> +             status = "okay";
> +     };
> +
> +     reg_lcd_3v3: regulator-lcd-3v3 {
> +             compatible = "regulator-fixed";
> +             regulator-name = "lcd-3v3";
> +             regulator-min-microvolt = <3300000>;
> +             regulator-max-microvolt = <3300000>;
> +             gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>;
> +             enable-active-high;
> +     };
> +
> +     panel {
> +             compatible = "vxt,vl050-8048nt-c01";
> +             backlight = <&backlight>;
> +             power-supply = <&reg_lcd_3v3>;
> +
> +             port {
> +                     panel_in: endpoint {
> +                             remote-endpoint = <&display_out>;
> +                     };
> +             };
> +     };
>  };
> 
>  &clks {
> @@ -98,7 +130,7 @@
>                         <&clks IMX7D_ENET1_TIME_ROOT_CLK>;
>       assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
>       assigned-clock-rates = <0>, <100000000>;
> -     phy-mode = "rgmii";
> +     phy-mode = "rgmii-id";
>       phy-handle = <&ethphy0>;
>       fsl,magic-packet;
>       phy-reset-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; @@ -236,6 +268,45
> @@
>       };
>  };
> 
> +&lcdif {
> +     pinctrl-names = "default";
> +     pinctrl-0 = <&pinctrl_lcdif>;
> +     status = "okay";
> +     display = <&display0>;
> +     u-boot,dm-pre-reloc;
> +
> +     port {
> +             display_out: endpoint {
> +                     remote-endpoint = <&panel_in>;
> +             };
> +     };
> +
> +     display0: display {
> +             bits-per-pixel = <16>;
> +             bus-width = <24>;
> +
> +             display-timings {
> +                     native-mode = <&timing0>;
> +                     timing0: timing0 {
> +                             clock-frequency = <33260000>;
> +                             hactive = <800>;
> +                             vactive = <480>;
> +                             hback-porch = <11>;
> +                             hfront-porch = <11>;
> +                             vback-porch = <12>;
> +                             vfront-porch = <11>;
> +                             hsync-len = <46>;
> +                             vsync-len = <210>;
> +                             hsync-active = <0>;
> +                             vsync-active = <0>;
> +                             de-active = <1>;
> +                             pixelclk-active = <1>;
> +                             interlaced =  <0>;
> +                     };
> +             };
> +     };
> +};
> +
>  &sai1 {
>       pinctrl-names = "default";
>       pinctrl-0 = <&pinctrl_sai1>;
> @@ -356,6 +427,12 @@
>  };
> 
>  &iomuxc {
> +     pinctrl_backlight: backlight {
> +             fsl,pins = <
> +                     MX7D_PAD_GPIO1_IO11__PWM4_OUT           0x0
> +             >;
> +     };
> +
>       pinctrl_ecspi3: ecspi3grp {
>               fsl,pins = <
>                       MX7D_PAD_I2C1_SCL__ECSPI3_MISO          0x2
> @@ -420,6 +497,40 @@
>               >;
>       };
> 
> +     pinctrl_lcdif: lcdifgrp {
> +             fsl,pins = <
> +                     MX7D_PAD_LCD_DATA00__LCD_DATA0          0x79
> +                     MX7D_PAD_LCD_DATA01__LCD_DATA1          0x79
> +                     MX7D_PAD_LCD_DATA02__LCD_DATA2          0x79
> +                     MX7D_PAD_LCD_DATA03__LCD_DATA3          0x79
> +                     MX7D_PAD_LCD_DATA04__LCD_DATA4          0x79
> +                     MX7D_PAD_LCD_DATA05__LCD_DATA5          0x79
> +                     MX7D_PAD_LCD_DATA06__LCD_DATA6          0x79
> +                     MX7D_PAD_LCD_DATA07__LCD_DATA7          0x79
> +                     MX7D_PAD_LCD_DATA08__LCD_DATA8          0x79
> +                     MX7D_PAD_LCD_DATA09__LCD_DATA9          0x79
> +                     MX7D_PAD_LCD_DATA10__LCD_DATA10         0x79
> +                     MX7D_PAD_LCD_DATA11__LCD_DATA11         0x79
> +                     MX7D_PAD_LCD_DATA12__LCD_DATA12         0x79
> +                     MX7D_PAD_LCD_DATA13__LCD_DATA13         0x79
> +                     MX7D_PAD_LCD_DATA14__LCD_DATA14         0x79
> +                     MX7D_PAD_LCD_DATA15__LCD_DATA15         0x79
> +                     MX7D_PAD_LCD_DATA16__LCD_DATA16         0x79
> +                     MX7D_PAD_LCD_DATA17__LCD_DATA17         0x79
> +                     MX7D_PAD_LCD_DATA18__LCD_DATA18         0x79
> +                     MX7D_PAD_LCD_DATA19__LCD_DATA19         0x79
> +                     MX7D_PAD_LCD_DATA20__LCD_DATA20         0x79
> +                     MX7D_PAD_LCD_DATA21__LCD_DATA21         0x79
> +                     MX7D_PAD_LCD_DATA22__LCD_DATA22         0x79
> +                     MX7D_PAD_LCD_DATA23__LCD_DATA23         0x79
> +                     MX7D_PAD_LCD_CLK__LCD_CLK               0x79
> +                     MX7D_PAD_LCD_ENABLE__LCD_ENABLE         0x78
> +                     MX7D_PAD_LCD_VSYNC__LCD_VSYNC           0x78
> +                     MX7D_PAD_LCD_HSYNC__LCD_HSYNC           0x78
> +                     MX7D_PAD_LCD_RESET__GPIO3_IO4           0x14
> +             >;
> +     };
> +
>       pinctrl_pwm1: pwm1 {
>               fsl,pins = <
>                       MX7D_PAD_GPIO1_IO08__PWM1_OUT   0x7f
> diff --git a/board/technexion/pico-imx7d/pico-imx7d.c
> b/board/technexion/pico-imx7d/pico-imx7d.c
> index 216475c8de..916220516e 100644
> --- a/board/technexion/pico-imx7d/pico-imx7d.c
> +++ b/board/technexion/pico-imx7d/pico-imx7d.c
> @@ -19,6 +19,10 @@
>  #include <power/pmic.h>
>  #include <power/pfuze3000_pmic.h>
>  #include "../../freescale/common/pfuze.h"
> +#ifdef CONFIG_DM_VIDEO
> +#include <bmp_logo_data.h>
> +#include <video.h>
> +#endif
> 
>  DECLARE_GLOBAL_DATA_PTR;
> 
> @@ -223,37 +227,8 @@ int board_early_init_f(void)
>       return 0;
>  }
> 
> -#ifdef CONFIG_VIDEO_MXS
> +#ifdef CONFIG_DM_VIDEO
>  static iomux_v3_cfg_t const lcd_pads[] = {
> -     MX7D_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_ENABLE__LCD_ENABLE |
> MUX_PAD_CTRL(LCD_SYNC_PAD_CTRL),
> -     MX7D_PAD_LCD_HSYNC__LCD_HSYNC |
> MUX_PAD_CTRL(LCD_SYNC_PAD_CTRL),
> -     MX7D_PAD_LCD_VSYNC__LCD_VSYNC |
> MUX_PAD_CTRL(LCD_SYNC_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA00__LCD_DATA0 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA01__LCD_DATA1 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA02__LCD_DATA2 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA03__LCD_DATA3 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA04__LCD_DATA4 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA05__LCD_DATA5 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA06__LCD_DATA6 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA07__LCD_DATA7 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA08__LCD_DATA8 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA09__LCD_DATA9 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA10__LCD_DATA10 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA11__LCD_DATA11 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA12__LCD_DATA12 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA13__LCD_DATA13 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA14__LCD_DATA14 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA15__LCD_DATA15 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA16__LCD_DATA16 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA17__LCD_DATA17 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA18__LCD_DATA18 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA19__LCD_DATA19 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA20__LCD_DATA20 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA21__LCD_DATA21 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA22__LCD_DATA22 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_LCD_DATA23__LCD_DATA23 |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
> -     MX7D_PAD_GPIO1_IO06__GPIO1_IO6  |
> MUX_PAD_CTRL(LCD_PAD_CTRL),
>       MX7D_PAD_GPIO1_IO11__GPIO1_IO11 |
> MUX_PAD_CTRL(NO_PAD_CTRL),  };
> 
> @@ -274,8 +249,19 @@ int board_init(void)
>       /* address of boot parameters */
>       gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
> 
> -#ifdef CONFIG_VIDEO_MXS
> +#ifdef CONFIG_DM_VIDEO
> +     struct udevice *dev;
> +     int ret;
> +
> +     ret = uclass_get_device(UCLASS_VIDEO, 0, &dev);
> +     if (ret)
> +             return ret;
> +
>       setup_lcd();
> +
> +     ret = video_bmp_display(dev, (ulong)bmp_logo_bitmap, 0, 0, true);
> +     if (ret)
> +             return ret;
>  #endif
>  #ifdef CONFIG_FEC_MXC
>       setup_fec();
> diff --git a/configs/pico-hobbit-imx7d_defconfig
> b/configs/pico-hobbit-imx7d_defconfig
> index 3869eb70cc..873dbec52c 100644
> --- a/configs/pico-hobbit-imx7d_defconfig
> +++ b/configs/pico-hobbit-imx7d_defconfig
> @@ -66,4 +66,4 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL"
>  CONFIG_USB_GADGET_VENDOR_NUM=0x0525
>  CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
>  CONFIG_CI_UDC=y
> -CONFIG_VIDEO=y
> +CONFIG_DM_VIDEO=y
> diff --git a/configs/pico-imx7d_bl33_defconfig
> b/configs/pico-imx7d_bl33_defconfig
> index a2cddfcf4f..ba347d2507 100644
> --- a/configs/pico-imx7d_bl33_defconfig
> +++ b/configs/pico-imx7d_bl33_defconfig
> @@ -62,5 +62,5 @@ CONFIG_USB_GADGET_DOWNLOAD=y
> CONFIG_USB_ETHER=y  CONFIG_USB_ETH_CDC=y
> CONFIG_USBNET_HOST_ADDR="de:ad:be:af:00:00"
> -CONFIG_VIDEO=y
> +CONFIG_DM_VIDEO=y
>  CONFIG_OF_LIBFDT_OVERLAY=y
> diff --git a/configs/pico-imx7d_defconfig b/configs/pico-imx7d_defconfig index
> 3d45872a84..bad34555fa 100644
> --- a/configs/pico-imx7d_defconfig
> +++ b/configs/pico-imx7d_defconfig
> @@ -66,4 +66,4 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL"
>  CONFIG_USB_GADGET_VENDOR_NUM=0x0525
>  CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
>  CONFIG_CI_UDC=y
> -CONFIG_VIDEO=y
> +CONFIG_DM_VIDEO=y
> diff --git a/configs/pico-pi-imx7d_defconfig b/configs/pico-pi-imx7d_defconfig
> index b864b537c3..f0f32f6445 100644
> --- a/configs/pico-pi-imx7d_defconfig
> +++ b/configs/pico-pi-imx7d_defconfig
> @@ -66,4 +66,4 @@ CONFIG_USB_GADGET_MANUFACTURER="FSL"
>  CONFIG_USB_GADGET_VENDOR_NUM=0x0525
>  CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
>  CONFIG_CI_UDC=y
> -CONFIG_VIDEO=y
> +CONFIG_DM_VIDEO=y
> diff --git a/include/configs/pico-imx7d.h b/include/configs/pico-imx7d.h index
> 91015402ef..7c36f52c59 100644
> --- a/include/configs/pico-imx7d.h
> +++ b/include/configs/pico-imx7d.h
> @@ -163,7 +163,7 @@
>  #define CONFIG_POWER_PFUZE3000
>  #define CONFIG_POWER_PFUZE3000_I2C_ADDR      0x08
> 
> -#ifdef CONFIG_VIDEO
> +#ifdef CONFIG_DM_VIDEO
>  #define CONFIG_VIDEO_MXS
>  #define CONFIG_VIDEO_LOGO
>  #define CONFIG_SPLASH_SCREEN
> --
> 2.17.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to