Fixes on gdsys boards and some new functionality
v3 cover Fixes on gdsys boards and some new functionality
From: Dirk Eibach <[email protected]>
Changes in v3:
- describe ihs_i2c in README
Changes in v2:
- make sha256 support optional
- move ihs_i2c to drivers/i2c
- split unrelated changes
- use defines for I2C bus numbers
Dirk Eibach (13):
board: controlcenterd: Fix pci access
board: gdsys: Adapt sdhc_boot.c to mmc_get_env_addr API change
board: controlcenterd: Use new API for setting i2c bus
board: iocon: Support DisplayPort hardware
i2c: IHS I2C master driver
board: gdsys: Fix dlvision-10g I2C configuration
board: gdsys: Increase iocon and dlv10g version string
board: gdsys: Configure bridge on DP501 to support DDC only
board: gdsys: Make gdsys osd hardware detection more robust
board: gdsys: Enable scrambling on DP501
board: iocon: Modify iocon hardware startup
board: gdsys: Remove commands to reduce footprint
fit: make sha256 support optional
README | 15 +++ board/gdsys/405ep/iocon.c | 14 ++- board/gdsys/common/Makefile | 2 +- board/gdsys/common/dp501.c | 35 ++++-- board/gdsys/common/osd.c | 189 +++++++++++++++---------------- board/gdsys/p1022/controlcenterd-id.c | 13 ++- board/gdsys/p1022/controlcenterd.c | 6 +- board/gdsys/p1022/sdhc_boot.c | 2 +- drivers/i2c/Makefile | 1 + drivers/i2c/ihs_i2c.c | 203 ++++++++++++++++++++++++++++++++++ include/configs/controlcenterd.h | 7 +- include/configs/dlvision-10g.h | 29 ++++- include/configs/io.h | 8 +- include/configs/iocon.h | 35 ++++-- include/configs/neo.h | 9 +- include/gdsys_fpga.h | 25 ++--- include/image.h | 5 + 17 files changed, 449 insertions(+), 149 deletions(-) create mode 100644 drivers/i2c/ihs_i2c.c
Signature · 1 line
1.8.3
PATCH v3 1/13 board: controlcenterd: Fix pci access
From: Dirk Eibach <[email protected]>
readl was called with values instead of pointers to these values. Why this ever did work is a mystery...
---
Changes in v3: None
Changes in v2: None
board/gdsys/p1022/controlcenterd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
board/gdsys/p1022/controlcenterd.c +3 -3
@@ -386,9 +386,9 @@ static void hydra_initialize(void) fpga =pci_map_bar (devno,PCI_BASE_ADDRESS_0 ,PCI_REGION_MEM ); - versions =readl (fpga->versions); - fpga_version =readl (fpga->fpga_version); - fpga_features =readl (fpga->fpga_features); + versions =readl (&fpga->versions); + fpga_version =readl (&fpga->fpga_version); + fpga_features =readl (&fpga->fpga_features); hardware_version = versions &0xf ; feature_uart_channels = (fpga_features >>6 ) &0x1f ;
Signature · 1 line
1.8.3
PATCH v3 2/13 board: gdsys: Adapt sdhc_boot.c to mmc_get_env_addr API change
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
---
Changes in v3: None
Changes in v2: None
board/gdsys/p1022/sdhc_boot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
board/gdsys/p1022/sdhc_boot.c +1 -1
@@ -32,7 +32,7 @@#define ESDHC_BOOT_IMAGE_SIZE 0x48#define ESDHC_BOOT_IMAGE_ADDR 0x50 -int mmc_get_env_addr (struct mmc *mmc,u32 *env_addr) +int mmc_get_env_addr (struct mmc *mmc,int copy,u32 *env_addr) {u8 *tmp_buf;u32 blklen, code_offset, code_len, n;
Signature · 1 line
1.8.3
PATCH v3 3/13 board: controlcenterd: Use new API for setting i2c bus
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
---
Changes in v3: None
Changes in v2:
- use defines for I2C bus numbers
board/gdsys/p1022/controlcenterd-id.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
board/gdsys/p1022/controlcenterd-id.c +9 -4
@@ -86,6 +86,11 @@ enum { ESDHC_BOOT_IMAGE_ENTRY_OFS = 0x60, }; +enum { +I2C_SOC_0 =0 , +I2C_SOC_1 =1 , +}; +struct key_program {uint32_t magic;uint32_t code_crc;
@@ -1156,7 +1161,7 @@ static void ccdm_hang(void)int j;#endif -I2C_SET_BUS (0 ); +I2C_SET_BUS (I2C_SOC_0 );pca9698_direction_output (0x22 ,0 ,0 );/* Finder */ pca9698_direction_output (0x22 ,4 ,0 );/* Status */
@@ -1189,8 +1194,8 @@ int startup_ccdm_id_module(void)int result =0 ;unsigned int orig_i2c_bus; - orig_i2c_bus =I2C_GET_BUS (); -I2C_SET_BUS (1 ); + orig_i2c_bus =i2c_get_bus_num (); +i2c_set_bus_num (I2C_SOC_1 );/* goto end; */
@@ -1216,7 +1221,7 @@ int startup_ccdm_id_module(void) failure: result =1 ; end: -I2C_SET_BUS (orig_i2c_bus); +i2c_set_bus_num (orig_i2c_bus);if (result)ccdm_hang ();
Signature · 1 line
1.8.3
PATCH v3 4/13 board: iocon: Support DisplayPort hardware
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
There is a new iocon hardware flavor, supporting DisplayPort finally.
---
Changes in v3: None
Changes in v2: None
board/gdsys/405ep/iocon.c | 12 +++++ board/gdsys/common/Makefile | 2 +- board/gdsys/common/dp501.c | 33 +++++++++---- board/gdsys/common/osd.c | 112 ++++++++++++++++---------------------------- include/configs/iocon.h | 9 +++- 5 files changed, 83 insertions(+), 85 deletions(-)
board/gdsys/405ep/iocon.c +12 -0
@@ -15,6 +15,7 @@#include "405ep.h" #include <gdsys_fpga.h> +#include "../common/dp501.h" #include "../common/osd.h" #include "../common/mclink.h"
@@ -98,6 +99,8 @@ enum {unsigned int mclink_fpgacount;struct ihs_fpga *fpga_ptr[] =CONFIG_SYS_FPGA_PTR ; +int dp501_i2c[] =CONFIG_SYS_DP501_I2C ; +static int setup_88e1518 (const char *bus,unsigned char addr);int fpga_set_reg (u32 fpga,u16 *reg,off_t regoff,u16 data)
@@ -371,9 +374,18 @@ int last_stage_init(void)u16 fpga_features;int feature_carrier_speed = fpga_features & (1 <<4 );bool ch0_rgmii2_present = false; +int old_bus =i2c_get_bus_num ();FPGA_GET_REG (0 , fpga_features, &fpga_features); +/* Turn on Parade DP501 */ +pca9698_direction_output (0x20 ,9 ,1 ); +udelay (500000 ); + +i2c_set_bus_num (dp501_i2c[0 ]); +dp501_powerup (0x08 ); +i2c_set_bus_num (old_bus); +if (!legacy) ch0_rgmii2_present = !pca9698_get_value (0x20 ,30 );
board/gdsys/common/Makefile +1 -1
@@ -8,6 +8,6 @@ obj-$(CONFIG_SYS_FPGA_COMMON) += fpga.o obj-$(CONFIG_IO) += miiphybb.o obj-$(CONFIG_IO64) += miiphybb.o -obj-$(CONFIG_IOCON) += osd.o mclink.o +obj-$(CONFIG_IOCON) += osd.o mclink.o dp501.o obj-$(CONFIG_DLVISION_10G) += osd.o obj-$(CONFIG_CONTROLCENTERD) += dp501.o
board/gdsys/common/dp501.c +23 -10
@@ -60,8 +60,31 @@ void dp501_powerup(u8 addr)i2c_reg_write (addr,0x71 ,0x20 );/* Enable Aux burst write */ dp501_setbits (addr,0x78 ,0x30 );/* Disable HPD2 IRQ */ dp501_clrbits (addr,0x2f ,0x40 );/* Link FIFO reset selection */ + +#ifdef CONFIG_SYS_DP501_VCAPCTRL0 +i2c_reg_write (addr,0x24 ,CONFIG_SYS_DP501_VCAPCTRL0 ); +#else i2c_reg_write (addr,0x24 ,0xc0 );/* SDR mode 0, ext. H/VSYNC */ +#endif + +#ifdef CONFIG_SYS_DP501_DIFFERENTIAL +i2c_reg_write (addr +2 ,0x24 ,0x10 );/* clock input differential */ +i2c_reg_write (addr +2 ,0x25 ,0x04 ); +i2c_reg_write (addr +2 ,0x26 ,0x10 ); +#else i2c_reg_write (addr +2 ,0x24 ,0x02 );/* clock input single ended */ +#endif + +i2c_reg_write (addr +2 ,0x00 ,0x18 );/* driving strength */ +i2c_reg_write (addr +2 ,0x03 ,0x06 );/* driving strength */ +i2c_reg_write (addr,0x2c ,0x00 );/* configure N value */ +i2c_reg_write (addr,0x2d ,0x00 );/* configure N value */ +i2c_reg_write (addr,0x2e ,0x0c );/* configure N value */ +i2c_reg_write (addr,0x76 ,0xff );/* clear all interrupt */ +dp501_setbits (addr,0x78 ,0x03 );/* clear all interrupt */ +i2c_reg_write (addr,0x75 ,0xf8 );/* aux channel reset */ +i2c_reg_write (addr,0x75 ,0x00 );/* clear aux channel reset */ +i2c_reg_write (addr,0x87 ,0x70 );/* set retry counter as 7 */ if (dp501_detect_cable_adapter (addr)) {printf ("DVI/HDMI cable adapter detected\n" );
@@ -69,16 +92,6 @@ void dp501_powerup(u8 addr)dp501_clrbits (addr,0x00 ,0x08 );/* DVI/HDMI HDCP operation */ }else {printf ("no DVI/HDMI cable adapter detected\n" ); -i2c_reg_write (addr +2 ,0x00 ,0x18 );/* driving strength */ -i2c_reg_write (addr +2 ,0x03 ,0x06 );/* driving strength */ -i2c_reg_write (addr,0x2c ,0x00 );/* configure N value */ -i2c_reg_write (addr,0x2d ,0x00 );/* configure N value */ -i2c_reg_write (addr,0x2e ,0x0c );/* configure N value */ -i2c_reg_write (addr,0x76 ,0xff );/* clear all interrupt */ -dp501_setbits (addr,0x78 ,0x03 );/* clear all interrupt */ -i2c_reg_write (addr,0x75 ,0xf8 );/* aux channel reset */ -i2c_reg_write (addr,0x75 ,0x00 );/* clear aux channel reset */ -i2c_reg_write (addr,0x87 ,0x70 );/* set retry counter as 7 */ dp501_setbits (addr,0x00 ,0x08 );/* for DP HDCP operation */ dp501_link_training (addr);
board/gdsys/common/osd.c +40 -72
196 lines not on this page · raw message
include/configs/iocon.h +7 -2
@@ -121,7 +121,9 @@#define CONFIG_SYS_I2C_SOFT_SPEED_4 50000#define CONFIG_SYS_I2C_SOFT_SLAVE_4 0x7F +#define CONFIG_SYS_ICS8N3QV01_I2C {1, 2, 3, 4}#define CONFIG_SYS_CH7301_I2C {1, 2, 3, 4} +#define CONFIG_SYS_DP501_I2C {1, 2, 3, 4}#ifndef __ASSEMBLY__void fpga_gpio_set (unsigned int bus,int pin);
@@ -146,6 +148,8 @@ int fpga_gpio_get(unsigned int bus, int pin);fpga_gpio_set (I2C_ADAP_HWNR ,0x0020 ); \ else \ fpga_gpio_clear(I2C_ADAP_HWNR, 0x0020); \ +while (!!fpga_gpio_get (I2C_ADAP_HWNR ,0x0020 ) != !!bit) \ + ; \ } while (0)#define I2C_DELAY udelay(25)/* 1/4 I2C clock duration */
@@ -153,7 +157,6 @@ int fpga_gpio_get(unsigned int bus, int pin);* OSD hardware */ #define CONFIG_SYS_MPC92469AC -#define CONFIG_SYS_CH7301 /* * FLASH organization
@@ -282,9 +285,11 @@ int fpga_gpio_get(unsigned int bus, int pin);/* * OSD Setup */ +#define CONFIG_SYS_ICS8N3QV01 #define CONFIG_SYS_MPC92469AC -#define CONFIG_SYS_CH7301 #define CONFIG_SYS_OSD_SCREENS 1 +#define CONFIG_SYS_DP501_DIFFERENTIAL +#define CONFIG_SYS_DP501_VCAPCTRL0 0x01/* DDR mode 0, DE for H/VSYNC */ #define CONFIG_BITBANGMII /* bit-bang MII PHY management */ #define CONFIG_BITBANGMII_MULTI
Signature · 1 line
1.8.3
PATCH v3 5/13 i2c: IHS I2C master driver
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
IHS I2C master support was merely a hack in the osd driver. Now it is a proper u-boot I2C framework driver, supporting the v2.00 master features.
---
Changes in v3:
- describe ihs_i2c in README
Changes in v2:
- move ihs_i2c to drivers/i2c
- split unrelated changes
README | 15 +++ drivers/i2c/Makefile | 1 + drivers/i2c/ihs_i2c.c | 204 +++++++++++++++++++++++++++++++++++++++++ include/configs/dlvision-10g.h | 11 +++ include/configs/iocon.h | 23 ++++- include/gdsys_fpga.h | 25 +++-- 6 files changed, 261 insertions(+), 18 deletions(-) create mode 100644 drivers/i2c/ihs_i2c.c
README +15 -0
@@ -2268,6 +2268,21 @@ CBFS (Coreboot Filesystem) support 9 i2c buses for Exynos4 and 1 for S3C24X0 SoCs from Samsung) with a fix speed from 100000 and the slave addr 0! + - drivers/i2c/ihs_i2c.c + - activate this driver with CONFIG_SYS_I2C_IHS + - CONFIG_SYS_I2C_IHS_CH0 activate hardware channel 0 + - CONFIG_SYS_I2C_IHS_SPEED_0 speed channel 0 + - CONFIG_SYS_I2C_IHS_SLAVE_0 slave addr channel 0 + - CONFIG_SYS_I2C_IHS_CH1 activate hardware channel 1 + - CONFIG_SYS_I2C_IHS_SPEED_1 speed channel 1 + - CONFIG_SYS_I2C_IHS_SLAVE_1 slave addr channel 1 + - CONFIG_SYS_I2C_IHS_CH2 activate hardware channel 2 + - CONFIG_SYS_I2C_IHS_SPEED_2 speed channel 2 + - CONFIG_SYS_I2C_IHS_SLAVE_2 slave addr channel 2 + - CONFIG_SYS_I2C_IHS_CH3 activate hardware channel 3 + - CONFIG_SYS_I2C_IHS_SPEED_3 speed channel 3 + - CONFIG_SYS_I2C_IHS_SLAVE_3 slave addr channel 3 + additional defines: CONFIG_SYS_NUM_I2C_BUSES
drivers/i2c/Makefile +1 -0
@@ -18,6 +18,7 @@ obj-$(CONFIG_SYS_I2C) += i2c_core.o obj-$(CONFIG_SYS_I2C_DAVINCI) += davinci_i2c.o obj-$(CONFIG_SYS_I2C_FSL) += fsl_i2c.o obj-$(CONFIG_SYS_I2C_FTI2C010) += fti2c010.o +obj-$(CONFIG_SYS_I2C_IHS) += ihs_i2c.o obj-$(CONFIG_SYS_I2C_KONA) += kona_i2c.o obj-$(CONFIG_SYS_I2C_MXC) += mxc_i2c.o obj-$(CONFIG_SYS_I2C_OMAP24XX) += omap24xx_i2c.o
drivers/i2c/ihs_i2c.c new file +204 -0
204 lines not on this page · raw message
include/configs/dlvision-10g.h +11 -0
@@ -99,7 +99,18 @@*/ #define CONFIG_SYS_I2C_PPC4XX_SPEED_0 100000 +#define CONFIG_SYS_I2C_IHS +#define CONFIG_SYS_I2C_IHS_CH0 +#define CONFIG_SYS_I2C_IHS_SPEED_0 50000 +#define CONFIG_SYS_I2C_IHS_SLAVE_0 0x7F +#define CONFIG_SYS_I2C_IHS_CH1 +#define CONFIG_SYS_I2C_IHS_SPEED_1 50000 +#define CONFIG_SYS_I2C_IHS_SLAVE_1 0x7F + +#define CONFIG_SYS_SPD_BUS_NUM 2 +/* Temp sensor/hwmon/dtt */ +#define CONFIG_SYS_DTT_BUS_NUM 2#define CONFIG_DTT_LM63 1/* National LM63 */ #define CONFIG_DTT_SENSORS { 0x4c, 0x4e, 0x18 }/* Sensor addresses */ #define CONFIG_DTT_PWM_LOOKUPTABLE \
include/configs/iocon.h +18 -5
@@ -99,12 +99,27 @@#define CONFIG_SYS_I2C_PPC4XX_CH0 #define CONFIG_SYS_I2C_PPC4XX_SPEED_0 400000#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0 0x7F +#define CONFIG_SYS_I2C_IHS #define CONFIG_SYS_I2C_SPEED 400000 +#define CONFIG_SYS_SPD_BUS_NUM 4#define CONFIG_PCA953X /* NXP PCA9554 */ #define CONFIG_PCA9698 /* NXP PCA9698 */ +#define CONFIG_SYS_I2C_IHS_CH0 +#define CONFIG_SYS_I2C_IHS_SPEED_0 50000 +#define CONFIG_SYS_I2C_IHS_SLAVE_0 0x7F +#define CONFIG_SYS_I2C_IHS_CH1 +#define CONFIG_SYS_I2C_IHS_SPEED_1 50000 +#define CONFIG_SYS_I2C_IHS_SLAVE_1 0x7F +#define CONFIG_SYS_I2C_IHS_CH2 +#define CONFIG_SYS_I2C_IHS_SPEED_2 50000 +#define CONFIG_SYS_I2C_IHS_SLAVE_2 0x7F +#define CONFIG_SYS_I2C_IHS_CH3 +#define CONFIG_SYS_I2C_IHS_SPEED_3 50000 +#define CONFIG_SYS_I2C_IHS_SLAVE_3 0x7F +/* * Software (bit-bang) I2C driver configuration */
@@ -121,9 +136,9 @@#define CONFIG_SYS_I2C_SOFT_SPEED_4 50000#define CONFIG_SYS_I2C_SOFT_SLAVE_4 0x7F -#define CONFIG_SYS_ICS8N3QV01_I2C {1, 2, 3, 4} -#define CONFIG_SYS_CH7301_I2C {1, 2, 3, 4} -#define CONFIG_SYS_DP501_I2C {1, 2, 3, 4} +#define CONFIG_SYS_ICS8N3QV01_I2C {5, 6, 7, 8} +#define CONFIG_SYS_CH7301_I2C {5, 6, 7, 8} +#define CONFIG_SYS_DP501_I2C {0, 1, 2, 3}#ifndef __ASSEMBLY__void fpga_gpio_set (unsigned int bus,int pin);
@@ -148,8 +163,6 @@ int fpga_gpio_get(unsigned int bus, int pin);fpga_gpio_set (I2C_ADAP_HWNR ,0x0020 ); \ else \ fpga_gpio_clear(I2C_ADAP_HWNR, 0x0020); \ -while (!!fpga_gpio_get (I2C_ADAP_HWNR ,0x0020 ) != !!bit) \ - ; \ } while (0)#define I2C_DELAY udelay(25)/* 1/4 I2C clock duration */
include/gdsys_fpga.h +12 -13
@@ -43,10 +43,12 @@ struct ihs_gpio { };struct ihs_i2c { -u16 write_mailbox; +u16 interrupt_status; +u16 interrupt_enable;u16 write_mailbox_ext; -u16 read_mailbox; +u16 write_mailbox;u16 read_mailbox_ext; +u16 read_mailbox; };struct ihs_osd {
@@ -84,7 +86,6 @@ struct ihs_fpga {#endif #ifdef CONFIG_IO64 - struct ihs_fpga_channel { u16 status_int; u16 config_int;
@@ -121,9 +122,9 @@ struct ihs_fpga {u16 reserved_0[6 ];/* 0x0008 */ struct ihs_gpio gpio;/* 0x0014 */ u16 mpc3w_control;/* 0x001a */ -u16 reserved_1[19 ];/* 0x001c */ -u16 videocontrol;/* 0x0042 */ -u16 reserved_2[14 ];/* 0x0044 */ +u16 reserved_1[18 ];/* 0x001c */ +struct ihs_i2c i2c;/* 0x0040 */ +u16 reserved_2[10 ];/* 0x004c */ u16 mc_int;/* 0x0060 */ u16 mc_int_en;/* 0x0062 */ u16 mc_status;/* 0x0064 */
@@ -150,15 +151,13 @@ struct ihs_fpga {u16 fpga_features;/* 0x0006 */ u16 reserved_0[10 ];/* 0x0008 */ u16 extended_interrupt;/* 0x001c */ -u16 reserved_1[9 ];/* 0x001e */ -struct ihs_i2c i2c;/* 0x0030 */ -u16 reserved_2[16 ];/* 0x0038 */ +u16 reserved_1[29 ];/* 0x001e */ u16 mpc3w_control;/* 0x0058 */ -u16 reserved_3[34 ];/* 0x005a */ -u16 videocontrol;/* 0x009e */ -u16 reserved_4[176 ];/* 0x00a0 */ +u16 reserved_2[3 ];/* 0x005a */ +struct ihs_i2c i2c;/* 0x0060 */ +u16 reserved_3[205 ];/* 0x0066 */ struct ihs_osd osd;/* 0x0200 */ -u16 reserved_5[761 ];/* 0x020e */ +u16 reserved_4[761 ];/* 0x020e */ u16 videomem[31736]; /* 0x0800 */ };#endif
Signature · 1 line
1.8.3
PATCH v3 5/13 i2c: IHS I2C master driver
Hello Dirk,
Am 03.07.2014 08:27, schrieb dirk.eibach at gdsys.cc:
Quoted 17 lines
From: Dirk Eibach<[email protected]>
IHS I2C master support was merely a hack in the osd driver. Now it is a proper u-boot I2C framework driver, supporting the v2.00 master features.
Signed-off-by Dirk Eibach<[email protected]>---
Changes in v3:
- describeihs_i2cin READMEChanges in v2:
- moveihs_i2ctodrivers/i2c
- split unrelated changes
Quoted 8 lines
README | 15 +++ drivers/i2c/Makefile | 1 + drivers/i2c/ihs_i2c.c | 204 +++++++++++++++++++++++++++++++++++++++++ include/configs/dlvision-10g.h | 11 +++ include/configs/iocon.h | 23 ++++- include/gdsys_fpga.h | 25 +++-- 6 files changed, 261 insertions(+), 18 deletions(-)create mode 100644
drivers/i2c/ihs_i2c.c
Thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH v3 6/13 board: gdsys: Fix dlvision-10g I2C configuration
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
PPC4xx config options were not complete. ICS8N3QV01 and SIL1178 needed some more configuration.
---
Changes in v3: None
Changes in v2: None
include/configs/dlvision-10g.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
include/configs/dlvision-10g.h +8 -2
@@ -97,7 +97,10 @@/* * I2C stuff */ +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 #define CONFIG_SYS_I2C_PPC4XX_SPEED_0 100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0 0x7F#define CONFIG_SYS_I2C_IHS #define CONFIG_SYS_I2C_IHS_CH0
@@ -118,6 +121,11 @@ { 54, 27 }, { 56, 31 }, { 58, 36 }, { 60, 40 } }#define CONFIG_DTT_TACH_LIMIT 0xa10 +#define CONFIG_SYS_ICS8N3QV01 +#define CONFIG_SYS_ICS8N3QV01_I2C {0, 1} +#define CONFIG_SYS_SIL1178 +#define CONFIG_SYS_SIL1178_I2C {0, 1} +/* EBC peripherals */ #define CONFIG_SYS_FLASH_BASE 0xFC000000
@@ -317,9 +325,7 @@/* * OSD Setup */ -#define CONFIG_SYS_ICS8N3QV01 #define CONFIG_SYS_MPC92469AC -#define CONFIG_SYS_SIL1178 #define CONFIG_SYS_OSD_SCREENS CONFIG_SYS_FPGA_COUNT#endif /* __CONFIG_H */
Signature · 1 line
1.8.3
PATCH v3 7/13 board: gdsys: Increase iocon and dlv10g version string
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
---
Changes in v3: None
Changes in v2: None
include/configs/dlvision-10g.h | 2 +- include/configs/iocon.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
include/configs/dlvision-10g.h +1 -1
@@ -17,7 +17,7 @@* Include common defines/options for all AMCC eval boards */ #define CONFIG_HOSTNAME dlvsion-10g -#define CONFIG_IDENT_STRING " dlvision-10g 0.05" +#define CONFIG_IDENT_STRING " dlvision-10g 0.06"#include "amcc-common.h" #define CONFIG_BOARD_EARLY_INIT_F
include/configs/iocon.h +1 -1
@@ -17,7 +17,7 @@* Include common defines/options for all AMCC eval boards */ #define CONFIG_HOSTNAME iocon -#define CONFIG_IDENT_STRING " iocon 0.05" +#define CONFIG_IDENT_STRING " iocon 0.06"#include "amcc-common.h" #define CONFIG_BOARD_EARLY_INIT_F
Signature · 1 line
1.8.3
PATCH v3 8/13 board: gdsys: Configure bridge on DP501 to support DDC only
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
The I2C bridge on DP501 supports EDID, MCCS and HDCP by default. Allow EDID only to avoid I2C address conflicts.
---
Changes in v3: None
Changes in v2: None
board/gdsys/common/dp501.c | 1 + include/configs/controlcenterd.h | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-)
board/gdsys/common/dp501.c +1 -0
@@ -54,6 +54,7 @@ static void dp501_link_training(u8 addr)void dp501_powerup (u8 addr) {dp501_clrbits (addr,0x0a ,0x30 );/* power on encoder */ +dp501_setbits (addr,0x0a ,0x0e );/* block HDCP and MCCS on I2C bride*/ i2c_reg_write (addr,0x27 ,0x30 );/* Hardware auto detect DVO timing */ dp501_setbits (addr,0x72 ,0x80 );/* DPCD read enable */ dp501_setbits (addr,0x30 ,0x20 );/* RS polynomial select */
include/configs/controlcenterd.h +4 -3
@@ -199,9 +199,10 @@#define CONFIG_SYS_FSL_I2C2_SPEED 400000#define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F#define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100 -/* Probing DP501 I2C-Bridge will hang */ -#define CONFIG_SYS_I2C_NOPROBES { {0, 0x30}, {0, 0x37}, {0, 0x3a}, \ - {0, 0x3b}, {0, 0x50} } + +#ifndef CONFIG_TRAILBLAZER +#define CONFIG_CMD_I2C +#endif #define CONFIG_PCA9698 /* NXP PCA9698 */
Signature · 1 line
1.8.3
PATCH v3 9/13 board: gdsys: Make gdsys osd hardware detection more robust
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
---
Changes in v3: None
Changes in v2: None
board/gdsys/405ep/iocon.c | 17 ++----- board/gdsys/common/osd.c | 113 +++++++++++++++++++++++++++-------------- drivers/i2c/ihs_i2c.c | 1 - include/configs/dlvision-10g.h | 2 - include/configs/iocon.h | 6 --- 5 files changed, 79 insertions(+), 60 deletions(-)
board/gdsys/405ep/iocon.c +5 -12
@@ -15,7 +15,6 @@#include "405ep.h" #include <gdsys_fpga.h> -#include "../common/dp501.h" #include "../common/osd.h" #include "../common/mclink.h"
@@ -99,8 +98,6 @@ enum {unsigned int mclink_fpgacount;struct ihs_fpga *fpga_ptr[] =CONFIG_SYS_FPGA_PTR ; -int dp501_i2c[] =CONFIG_SYS_DP501_I2C ; -static int setup_88e1518 (const char *bus,unsigned char addr);int fpga_set_reg (u32 fpga,u16 *reg,off_t regoff,u16 data)
@@ -374,20 +371,16 @@ int last_stage_init(void)u16 fpga_features;int feature_carrier_speed = fpga_features & (1 <<4 );bool ch0_rgmii2_present = false; -int old_bus =i2c_get_bus_num ();FPGA_GET_REG (0 , fpga_features, &fpga_features); -/* Turn on Parade DP501 */ -pca9698_direction_output (0x20 ,9 ,1 ); -udelay (500000 ); - -i2c_set_bus_num (dp501_i2c[0 ]); -dp501_powerup (0x08 ); -i2c_set_bus_num (old_bus); +if (!legacy) { +/* Turn on Parade DP501 */ +pca9698_direction_output (0x20 ,9 ,1 ); +udelay (500000 ); -if (!legacy) ch0_rgmii2_present = !pca9698_get_value (0x20 ,30 ); + }print_fpga_info (0 , ch0_rgmii2_present);osd_probe (0 );
board/gdsys/common/osd.c +74 -39
168 lines not on this page · raw message
drivers/i2c/ihs_i2c.c +0 -1
@@ -34,7 +34,6 @@ static int wait_for_int(bool read) | (read ? I2CINT_RECEIVE_EV : I2CINT_TRANSMIT_EV)))) {udelay (10 );if (ctr++ >5000 ) { -printf ("I2C timeout\n" );return 1 ; }FPGA_GET_REG (I2C_ADAP_HWNR , i2c.interrupt_status, &val);
include/configs/dlvision-10g.h +0 -2
@@ -121,9 +121,7 @@ { 54, 27 }, { 56, 31 }, { 58, 36 }, { 60, 40 } }#define CONFIG_DTT_TACH_LIMIT 0xa10 -#define CONFIG_SYS_ICS8N3QV01 #define CONFIG_SYS_ICS8N3QV01_I2C {0, 1} -#define CONFIG_SYS_SIL1178 #define CONFIG_SYS_SIL1178_I2C {0, 1}/* EBC peripherals */
include/configs/iocon.h +0 -6
@@ -167,11 +167,6 @@ int fpga_gpio_get(unsigned int bus, int pin);#define I2C_DELAY udelay(25)/* 1/4 I2C clock duration */ /* -* OSD hardware -*/ -#define CONFIG_SYS_MPC92469AC - -/* * FLASH organization */ #define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */
@@ -298,7 +293,6 @@ int fpga_gpio_get(unsigned int bus, int pin);/* * OSD Setup */ -#define CONFIG_SYS_ICS8N3QV01 #define CONFIG_SYS_MPC92469AC #define CONFIG_SYS_OSD_SCREENS 1#define CONFIG_SYS_DP501_DIFFERENTIAL
Signature · 1 line
1.8.3
PATCH v3 10/13 board: gdsys: Enable scrambling on DP501
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
For proper displayport performance, scrambling has to be enabled, but is turned off on DP501 by default.
---
Changes in v3: None
Changes in v2: None
board/gdsys/common/dp501.c | 1 + 1 file changed, 1 insertion(+)
board/gdsys/common/dp501.c +1 -0
@@ -61,6 +61,7 @@ void dp501_powerup(u8 addr)i2c_reg_write (addr,0x71 ,0x20 );/* Enable Aux burst write */ dp501_setbits (addr,0x78 ,0x30 );/* Disable HPD2 IRQ */ dp501_clrbits (addr,0x2f ,0x40 );/* Link FIFO reset selection */ +dp501_clrbits (addr,0x60 ,0x20 );/* Enable scrambling */ #ifdef CONFIG_SYS_DP501_VCAPCTRL0 i2c_reg_write (addr,0x24 ,CONFIG_SYS_DP501_VCAPCTRL0 );
Signature · 1 line
1.8.3
PATCH v3 11/13 board: iocon: Modify iocon hardware startup
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
To avoid peer "ChReceivePathStatus"-messages on iocon startup, initialize PHYs as soon as possible.
---
Changes in v3: None
Changes in v2: None
board/gdsys/405ep/iocon.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
board/gdsys/405ep/iocon.c +4 -5
@@ -377,14 +377,10 @@ int last_stage_init(void)if (!legacy) {/* Turn on Parade DP501 */ pca9698_direction_output (0x20 ,9 ,1 ); -udelay (500000 ); ch0_rgmii2_present = !pca9698_get_value (0x20 ,30 ); } -print_fpga_info (0 , ch0_rgmii2_present); -osd_probe (0 ); -/* wait for FPGA done */ for (k =0 ; k <ARRAY_SIZE (mclink_controllers); ++k) {unsigned int ctr =0 ;
@@ -413,13 +409,16 @@ int last_stage_init(void) } } -/* wait for slave-PLLs to be up and running */ +/* give slave-PLLs and Parade DP501 some time to be up and running */ udelay (500000 ); mclink_fpgacount =CONFIG_SYS_MCLINK_MAX ; slaves =mclink_probe (); mclink_fpgacount =0 ; +print_fpga_info (0 , ch0_rgmii2_present); +osd_probe (0 ); +if (slaves <=0 )return 0 ;
Signature · 1 line
1.8.3
PATCH v3 12/13 board: gdsys: Remove commands to reduce footprint
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
Commit "2842c1c fit: add sha256 support" badly increased memory footprint, so some of our boards did not build anymore. Since monitor base must not be changed I removed some commands to save memory.
Maybe making sha256 optional for fit would be an option for the future since it really has some beefy footprint.
---
Changes in v3: None
Changes in v2: None
include/configs/dlvision-10g.h | 7 ++++++- include/configs/io.h | 7 ++++++- include/configs/iocon.h | 4 ++++ include/configs/neo.h | 8 ++++++-- 4 files changed, 22 insertions(+), 4 deletions(-)
include/configs/dlvision-10g.h +6 -1
@@ -64,9 +64,14 @@/* * Commands additional to the ones defined in amcc-common.h */ -#define CONFIG_CMD_CACHE #define CONFIG_CMD_DTT +#undef CONFIG_CMD_DHCP +#undef CONFIG_CMD_DIAG#undef CONFIG_CMD_EEPROM +#undef CONFIG_CMD_ELF +#undef CONFIG_CMD_I2C +#undef CONFIG_CMD_IRQ +#undef CONFIG_CMD_NFS/* * SDRAM configuration (please see cpu/ppc/sdram.[ch])
include/configs/io.h +6 -1
@@ -64,9 +64,14 @@/* * Commands additional to the ones defined in amcc-common.h */ -#define CONFIG_CMD_CACHE #define CONFIG_CMD_DTT +#undef CONFIG_CMD_DHCP +#undef CONFIG_CMD_DIAG#undef CONFIG_CMD_EEPROM +#undef CONFIG_CMD_ELF +#undef CONFIG_CMD_I2C +#undef CONFIG_CMD_IRQ +#undef CONFIG_CMD_NFS/* * SDRAM configuration (please see cpu/ppc/sdram.[ch])
include/configs/iocon.h +4 -0
@@ -64,6 +64,10 @@#define CONFIG_CMD_CACHE #define CONFIG_CMD_FPGAD #undef CONFIG_CMD_EEPROM +#undef CONFIG_CMD_ELF +#undef CONFIG_CMD_I2C +#undef CONFIG_CMD_IRQ +#undef CONFIG_CMD_NFS/* * SDRAM configuration (please see cpu/ppc/sdram.[ch])
include/configs/neo.h +6 -2
@@ -61,10 +61,14 @@/* * Commands additional to the ones defined in amcc-common.h */ -#define CONFIG_CMD_CACHE -#define CONFIG_CMD_DATE #define CONFIG_CMD_DTT +#undef CONFIG_CMD_DHCP +#undef CONFIG_CMD_DIAG#undef CONFIG_CMD_EEPROM +#undef CONFIG_CMD_ELF +#undef CONFIG_CMD_I2C +#undef CONFIG_CMD_IRQ +#undef CONFIG_CMD_NFS/* * SDRAM configuration (please see cpu/ppc/sdram.[ch])
Signature · 1 line
1.8.3
PATCH v3 13/13 fit: make sha256 support optional
In reply to dirk.eibach at gdsys.ccFrom: Dirk Eibach <[email protected]>
sha256 has some beefy memory footprint.
Make it optional for constrained systems.
---
Changes in v3: None
Changes in v2:
- make sha256 support optional
include/configs/dlvision-10g.h | 1 + include/configs/io.h | 1 + include/configs/iocon.h | 1 + include/configs/neo.h | 1 + include/image.h | 5 +++++ 5 files changed, 9 insertions(+)
include/configs/dlvision-10g.h +1 -0
@@ -40,6 +40,7 @@/* new uImage format support */ #define CONFIG_FIT #define CONFIG_FIT_VERBOSE /* enable fit_format_{error,warning}() */ +#define CONFIG_FIT_DISABLE_SHA256 #define CONFIG_ENV_IS_IN_FLASH /* use FLASH for environment vars */
include/configs/io.h +1 -0
@@ -40,6 +40,7 @@/* new uImage format support */ #define CONFIG_FIT #define CONFIG_FIT_VERBOSE /* enable fit_format_{error,warning}() */ +#define CONFIG_FIT_DISABLE_SHA256 #define CONFIG_ENV_IS_IN_FLASH /* use FLASH for environment vars */
include/configs/iocon.h +1 -0
@@ -39,6 +39,7 @@/* new uImage format support */ #define CONFIG_FIT #define CONFIG_FIT_VERBOSE /* enable fit_format_{error,warning}() */ +#define CONFIG_FIT_DISABLE_SHA256 #define CONFIG_ENV_IS_IN_FLASH /* use FLASH for environment vars */
include/configs/neo.h +1 -0
@@ -37,6 +37,7 @@/* new uImage format support */ #define CONFIG_FIT #define CONFIG_FIT_VERBOSE /* enable fit_format_{error,warning}() */ +#define CONFIG_FIT_DISABLE_SHA256 #define CONFIG_ENV_IS_IN_FLASH /* use FLASH for environment vars */
include/image.h +5 -0
@@ -72,6 +72,11 @@ struct lmb;# define IMAGE_ENABLE_SHA256 1# endif +#ifdef CONFIG_FIT_DISABLE_SHA256 +#undef CONFIG_SHA256 +#undef IMAGE_ENABLE_SHA256 +#endif +#ifndef IMAGE_ENABLE_CRC32 #define IMAGE_ENABLE_CRC32 0#endif
Signature · 1 line
1.8.3
PATCH v3 13/13 fit: make sha256 support optional
Hello Dirk,
Am 03.07.2014 08:27, schrieb dirk.eibach at gdsys.cc:
Quoted 13 lines
From: Dirk Eibach<[email protected]>
sha256 has some beefy memory footprint.
Make it optional for constrained systems.Signed-off-by Dirk Eibach<[email protected]>---
Changes in v3: None
Changes in v2:
- make sha256 support optional
Quoted 6 lines
include/configs/dlvision-10g.h | 1 + include/configs/io.h | 1 + include/configs/iocon.h | 1 + include/configs/neo.h | 1 + include/image.h | 5 +++++ 5 files changed, 9 insertions(+)
Sorry, some nitpick. As you introduce here the new define "CONFIG_FIT_DISABLE_SHA256", can you please add a short description in the README, thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH v3 13/13 fit: make sha256 support optional
Hi,
Quoted 26 lines · Heiko Schocher
Hello Dirk,
Am 03.07.2014 08:27, schrieb dirk.eibach at gdsys.cc:
Quoted 13 lines
From: Dirk Eibach<[email protected]>
sha256 has some beefy memory footprint.
Make it optional for constrained systems.Signed-off-by Dirk Eibach<[email protected]>---
Changes in v3: None
Changes in v2:
- make sha256 support optionalQuoted 6 lines
include/configs/dlvision-10g.h | 1 + include/configs/io.h | 1 + include/configs/iocon.h | 1 + include/configs/neo.h | 1 + include/image.h | 5 +++++ 5 files changed, 9 insertions(+)
Quoted 2 lines
Sorry, some nitpick. As you introduce here the new define "
CONFIG_FIT_DISABLE_SHA256", can you please add a short description in the README, thanks!
I wonder if it would be better to make the option off by default? You could perhaps use the existing CONFIG_SHA256 option, and check in image.h to enable/disable support.
Heiko what do you think?
Regards.
Simon
PATCH v3 13/13 fit: make sha256 support optional
Quoted 29 lines · Simon Glass
Hi,
Quoted 26 lines · Heiko Schocher
Hello Dirk,
Am 03.07.2014 08:27, schrieb dirk.eibach at gdsys.cc:
Quoted 19 lines
From: Dirk Eibach<[email protected]>
sha256 has some beefy memory footprint.
Make it optional for constrained systems.Signed-off-by Dirk Eibach<[email protected]>---
Changes in v3: None
Changes in v2:
- make sha256 support optionalinclude/configs/dlvision-10g.h | 1 + include/configs/io.h | 1 + include/configs/iocon.h | 1 + include/configs/neo.h | 1 + include/image.h | 5 +++++ 5 files changed, 9 insertions(+)
Quoted 8 lines
Quoted 2 lines
Sorry, some nitpick. As you introduce here the new define "
CONFIG_FIT_DISABLE_SHA256", can you please add a short description in the README, thanks!I wonder if it would be better to make the option off by default? You could perhaps use the existing
CONFIG_SHA256option, and check inimage.hto enable/disable support.Heiko what do you think?
I think I like this unless there's a problem...
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140703/6ae56289/attachment.pgp>
PATCH v3 13/13 fit: make sha256 support optional
Hello Dirk, Tom, Simon,
Am 03.07.2014 21:17, schrieb Tom Rini:
Quoted 30 lines · Simon Glass
Quoted 29 lines
Hi,
Quoted 26 lines · Heiko Schocher
Hello Dirk,
Am 03.07.2014 08:27, schrieb dirk.eibach at gdsys.cc:
Quoted 19 lines
From: Dirk Eibach<[email protected]>
sha256 has some beefy memory footprint.
Make it optional for constrained systems.Signed-off-by Dirk Eibach<[email protected]>---
Changes in v3: None
Changes in v2:
- make sha256 support optionalinclude/configs/dlvision-10g.h | 1 + include/configs/io.h | 1 + include/configs/iocon.h | 1 + include/configs/neo.h | 1 + include/image.h | 5 +++++ 5 files changed, 9 insertions(+)
Quoted 8 lines
Quoted 8 lines
Quoted 2 lines
Sorry, some nitpick. As you introduce here the new define "
CONFIG_FIT_DISABLE_SHA256", can you please add a short description in the README, thanks!I wonder if it would be better to make the option off by default? You could perhaps use the existing
CONFIG_SHA256option, and check inimage.hto enable/disable support.Heiko what do you think?
Yes, that would be good, it would safe a lot of code ...
Quoted 1 line
I think I like this unless there's a problem...
... IIRC, as I did the sha256-rsa2048, sha256-rsa4096 adaptions, I had this in mind, but there was a problem or just forgot it to do it at the end ... so I just tried to compile the ids8313 board with having this options off by default, precisly on current mainline I did:
$ git diff
include/image.h +3 -0
@@ -72,6 +72,9 @@ struct lmb;# define IMAGE_ENABLE_SHA256 1# endif +#undef CONFIG_SHA256 +#undef IMAGE_ENABLE_SHA256 +#ifndef IMAGE_ENABLE_CRC32 #define IMAGE_ENABLE_CRC32 0#endif
-------------------------------------------------------
make mrproper
make ids8313_config
make CROSS_COMPILE=powerpc-linux- env
make CROSS_COMPILE=powerpc-linux- cross_tools
works without errors, but
$ ./MAKEALL ids8313 Configuring for ids8313 - Board: ids8313, Options: SYS_TEXT_BASE=0xFFF00000 powerpc-linux-size: './u-boot': No such file lib/built-in.o: In function `sha256_calculate': /home/hs/ids/u-boot/lib/rsa/rsa-checksum.c:159: undefined reference to `sha256_starts' /home/hs/ids/u-boot/lib/rsa/rsa-checksum.c:161: undefined reference to `sha256_update' /home/hs/ids/u-boot/lib/rsa/rsa-checksum.c:162: undefined reference to `sha256_finish' make: *** [u-boot] Fehler 1
same for am335x_boneblack_vboot, sandbox.
So there must be also looked at this sha256_calculate() in lib/rsa/rsa-checksum.c and common/image-sig.c checksum_algos[] and image_sig_algos[] must be adjusted, reworked ...
If we do this for CONFIG_SHA256 I vote for doing this for all checksum algorithms ... and we must look to the boards, which use FIT support, that we enable all options bayk they use again.
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
PATCH v3 13/13 fit: make sha256 support optional
In reply to Tom RiniWhatever we do: we have some broken boards, so please let us fix it before next release.
I am off on vacation now. If necessary simply drop this patch from the series.
Cheers
Dirk
v3 cover Fixes on gdsys boards and some new functionality
In reply to dirk.eibach at gdsys.ccQuoted 1 line · dirk.eibach at gdsys.cc
From: Dirk Eibach <[email protected]>
Looks good for the ppc4xx parts, so:
Thanks,
Stefan