[U-Boot] [PATCH] powerpc/t1040qds: Remove Video - HDMI support

Priyanka Jain Priyanka.Jain at freescale.com
Fri Apr 18 10:26:21 CEST 2014


Hello Dongsheng,

We do have requirement to support this that's why code development was done.
Also , what is the dependency of deep-sleep on this. Please elaborate
And if something is broken, we should fix it. Instead of removing the feature.

Regards
Priyanka


> -----Original Message-----
> From: Dongsheng Wang [mailto:dongsheng.wang at freescale.com]
> Sent: Friday, April 18, 2014 1:09 PM
> To: Sun York-R58495
> Cc: Jain Priyanka-B32167; Wood Scott-B07421; u-boot at lists.denx.de; Wang
> Dongsheng-B40534
> Subject: [PATCH] powerpc/t1040qds: Remove Video - HDMI support
> 
> From: Wang Dongsheng <dongsheng.wang at freescale.com>
> 
> We should remove this support.
> First, there is not any documents to say we need to support this feature,
> and kernel also not support this feature.
> Second, Kerneal not support this on T1040QDS, so if we open it in u-boot,
> FPGA will be changed and that will affect deep sleep feature.
> 
> Signed-off-by: Wang Dongsheng <dongsheng.wang at freescale.com>
> 
> diff --git a/board/freescale/t1040qds/Makefile
> b/board/freescale/t1040qds/Makefile
> index 19ed21b..c7470d7 100644
> --- a/board/freescale/t1040qds/Makefile
> +++ b/board/freescale/t1040qds/Makefile
> @@ -10,4 +10,3 @@ obj-$(CONFIG_PCI)     += pci.o
>  obj-y	+= law.o
>  obj-y	+= tlb.o
>  obj-y	+= eth.o
> -obj-y	+= diu.o
> diff --git a/board/freescale/t1040qds/diu.c
> b/board/freescale/t1040qds/diu.c deleted file mode 100644 index
> 0214224..0000000
> --- a/board/freescale/t1040qds/diu.c
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -/*
> - * Copyright 2014 Freescale Semiconductor, Inc.
> - * Author: Priyanka Jain <Priyanka.Jain at freescale.com>
> - *
> - * SPDX-License-Identifier:	GPL-2.0+
> - */
> -
> -#include <common.h>
> -#include <command.h>
> -#include <linux/ctype.h>
> -#include <asm/io.h>
> -#include <stdio_dev.h>
> -#include <video_fb.h>
> -#include <fsl_diu_fb.h>
> -#include "../common/qixis.h"
> -#include "../common/diu_ch7301.h"
> -#include "t1040qds.h"
> -#include "t1040qds_qixis.h"
> -
> -/*
> - * DIU Area Descriptor
> - *
> - * Note that we need to byte-swap the value before it's written to the
> AD
> - * register.  So even though the registers don't look like they're in
> the same
> - * bit positions as they are on the MPC8610, the same value is written
> to the
> - * AD register on the MPC8610 and on the P1022.
> - */
> -#define AD_BYTE_F		0x10000000
> -#define AD_ALPHA_C_SHIFT	25
> -#define AD_BLUE_C_SHIFT		23
> -#define AD_GREEN_C_SHIFT	21
> -#define AD_RED_C_SHIFT		19
> -#define AD_PIXEL_S_SHIFT	16
> -#define AD_COMP_3_SHIFT		12
> -#define AD_COMP_2_SHIFT		8
> -#define AD_COMP_1_SHIFT		4
> -#define AD_COMP_0_SHIFT		0
> -
> -void diu_set_pixel_clock(unsigned int pixclock) -{
> -	unsigned long speed_ccb, temp;
> -	u32 pixval;
> -	int ret = 0;
> -	speed_ccb = get_bus_freq(0);
> -	temp = 1000000000 / pixclock;
> -	temp *= 1000;
> -	pixval = speed_ccb / temp;
> -
> -	/* Program HDMI encoder */
> -	/* Switch channel to DIU */
> -	select_i2c_ch_pca9547(I2C_MUX_CH_DIU);
> -
> -	/* Set dispaly encoder */
> -	ret = diu_set_dvi_encoder(temp);
> -	if (ret) {
> -		puts("Failed to set DVI encoder\n");
> -		return;
> -	}
> -
> -	/* Switch channel to default */
> -	select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT);
> -
> -	/* Program pixel clock */
> -	out_be32((unsigned *)CONFIG_SYS_FSL_SCFG_PIXCLK_ADDR,
> -		 ((pixval << PXCK_BITS_START) & PXCK_MASK));
> -	/* enable clock*/
> -	out_be32((unsigned *)CONFIG_SYS_FSL_SCFG_PIXCLK_ADDR, PXCKEN_MASK |
> -		 ((pixval << PXCK_BITS_START) & PXCK_MASK));
> -}
> -
> -int platform_diu_init(unsigned int xres, unsigned int yres, const char
> *port) -{
> -	u32 pixel_format;
> -	u8 sw;
> -
> -	/*Route I2C4 to DIU system as HSYNC/VSYNC*/
> -	sw = QIXIS_READ(brdcfg[5]);
> -	QIXIS_WRITE(brdcfg[5],
> -		    ((sw & ~(BRDCFG5_IMX_MASK)) | (BRDCFG5_IMX_DIU)));
> -
> -	/*Configure Display ouput port as HDMI*/
> -	sw = QIXIS_READ(brdcfg[15]);
> -	QIXIS_WRITE(brdcfg[15],
> -		    ((sw & ~(BRDCFG15_LCDPD_MASK | BRDCFG15_DIUSEL_MASK))
> -		      | (BRDCFG15_LCDPD_ENABLED | BRDCFG15_DIUSEL_HDMI)));
> -
> -	pixel_format = cpu_to_le32(AD_BYTE_F | (3 << AD_ALPHA_C_SHIFT) |
> -		(0 << AD_BLUE_C_SHIFT) | (1 << AD_GREEN_C_SHIFT) |
> -		(2 << AD_RED_C_SHIFT) | (8 << AD_COMP_3_SHIFT) |
> -		(8 << AD_COMP_2_SHIFT) | (8 << AD_COMP_1_SHIFT) |
> -		(8 << AD_COMP_0_SHIFT) | (3 << AD_PIXEL_S_SHIFT));
> -
> -	printf("DIU:   Switching to monitor @ %ux%u\n",  xres, yres);
> -
> -
> -	return fsl_diu_init(xres, yres, pixel_format, 0);
> -}
> diff --git a/board/freescale/t1040qds/t1040qds.h
> b/board/freescale/t1040qds/t1040qds.h
> index 5041f37..79bdeda 100644
> --- a/board/freescale/t1040qds/t1040qds.h
> +++ b/board/freescale/t1040qds/t1040qds.h
> @@ -9,6 +9,5 @@
> 
>  void fdt_fixup_board_enet(void *blob);
>  void pci_of_setup(void *blob, bd_t *bd); -int select_i2c_ch_pca9547(u8
> ch);
> 
>  #endif
> diff --git a/board/freescale/t1040qds/t1040qds_qixis.h
> b/board/freescale/t1040qds/t1040qds_qixis.h
> index 98d2d39..2ce8795 100644
> --- a/board/freescale/t1040qds/t1040qds_qixis.h
> +++ b/board/freescale/t1040qds/t1040qds_qixis.h
> @@ -13,18 +13,6 @@
>  #define BRDCFG4_EMISEL_MASK		0xE0
>  #define BRDCFG4_EMISEL_SHIFT		5
> 
> -/* BRDCFG5[0:1] controls routing and use of I2C3 & I2C4 ports*/
> -#define BRDCFG5_IMX_MASK		0xC0
> -#define BRDCFG5_IMX_DIU			0x80
> -
> -/* BRDCFG15[3] controls LCD Panel Powerdown*/
> -#define BRDCFG15_LCDPD_MASK		0x10
> -#define BRDCFG15_LCDPD_ENABLED		0x00
> -
> -/* BRDCFG15[6:7] controls DIU MUX selction*/
> -#define BRDCFG15_DIUSEL_MASK		0x03
> -#define BRDCFG15_DIUSEL_HDMI		0x00
> -
>  /* SYSCLK */
>  #define QIXIS_SYSCLK_66			0x0
>  #define QIXIS_SYSCLK_83			0x1
> diff --git a/include/configs/T1040QDS.h b/include/configs/T1040QDS.h
> index f4c8547..61bffce 100644
> --- a/include/configs/T1040QDS.h
> +++ b/include/configs/T1040QDS.h
> @@ -375,7 +375,7 @@ unsigned long get_board_ddr_clk(void);
>  #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
> 
>  #define CONFIG_SYS_MONITOR_LEN		(512 * 1024)
> -#define CONFIG_SYS_MALLOC_LEN		(10 * 1024 * 1024)
> +#define CONFIG_SYS_MALLOC_LEN		(4 * 1024 * 1024)
> 
>  /* Serial Port - controlled on board with jumper J8
>   * open - index 2
> @@ -401,26 +401,6 @@ unsigned long get_board_ddr_clk(void);  #define
> CONFIG_SYS_HUSH_PARSER  #define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
> 
> -/* Video */
> -#define CONFIG_FSL_DIU_FB
> -#ifdef CONFIG_FSL_DIU_FB
> -#define CONFIG_FSL_DIU_CH7301
> -#define CONFIG_SYS_DIU_ADDR	(CONFIG_SYS_CCSRBAR + 0x180000)
> -#define CONFIG_VIDEO
> -#define CONFIG_CMD_BMP
> -#define CONFIG_CFB_CONSOLE
> -#define CONFIG_VIDEO_SW_CURSOR
> -#define CONFIG_VGA_AS_SINGLE_DEVICE
> -#define CONFIG_VIDEO_LOGO
> -#define CONFIG_VIDEO_BMP_LOGO
> -#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
> -/*
> - * With CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS, flash I/O is really slow,
> so
> - * disable empty flash sector detection, which is I/O-intensive.
> - */
> -#undef CONFIG_SYS_FLASH_EMPTY_INFO
> -#endif
> -
>  /* pass open firmware flat tree */
>  #define CONFIG_OF_LIBFDT
>  #define CONFIG_OF_BOARD_SETUP
> @@ -446,11 +426,6 @@ unsigned long get_board_ddr_clk(void);
> 
>  /* I2C bus multiplexer */
>  #define I2C_MUX_CH_DEFAULT      0x8
> -#define I2C_MUX_CH_DIU		0xC
> -
> -/* LDI/DVI Encoder for display */
> -#define CONFIG_SYS_I2C_LDI_ADDR         0x38
> -#define CONFIG_SYS_I2C_DVI_ADDR         0x75
> 
>  /*
>   * RTC configuration
> @@ -728,7 +703,6 @@ unsigned long get_board_ddr_clk(void);
>  	"bank_intlv=cs0_cs1;"					\
>  	"usb1:dr_mode=host,phy_type=" __stringify(__USB_PHY_TYPE) "\0"\
>  	"netdev=eth0\0"						\
> -	"video-mode=fslfb:1024x768-32 at 60,monitor=dvi\0"		\
>  	"uboot=" __stringify(CONFIG_UBOOTPATH) "\0"		\
>  	"ubootaddr=" __stringify(CONFIG_SYS_TEXT_BASE) "\0"	\
>  	"tftpflash=tftpboot $loadaddr $uboot && "		\
> --
> 1.8.5
> 



More information about the U-Boot mailing list