Re: [PATCH 4/5] ppc: DA923RC: add board support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 31/10/2013 07:48, Sascha Hauer wrote:
> On Wed, Oct 30, 2013 at 12:34:52PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>> +
>>> +static int checkboard(void)
>>> +{
>>> +	void __iomem *lbc = LBC_BASE_ADDR;
>>> +	void __iomem *ecm = IOMEM(MPC85xx_ECM_ADDR);
>>> +	void __iomem *i2c = IOMEM(I2C1_BASE_ADDR);
>>> +	int ret, board_type;
>>> +	uint8_t id, rev;
>>> +
>>> +	/* Clear LBC error interrupts */
>>> +	out_be32(lbc + FSL_LBC_LTESR_OFFSET, 0xffffffff);
>>> +	/* Enable LBC error interrupts */
>>> +	out_be32(lbc + FSL_LBC_LTEIR_OFFSET, 0xffffffff);
>>> +	/* Clear ecm errors */
>>> +	out_be32(ecm + MPC85xx_ECM_EEDR_OFFSET, 0xffffffff);
>>> +	/* Enable ecm errors */
>>> +	out_be32(ecm + MPC85xx_ECM_EEER_OFFSET, 0xffffffff);
>>> +
>>> +	fsl_i2c_init(0, 400000, 0x7f);
>>> +	/* Read board id from offset 0. */
>>> +	ret = fsl_i2c_read(i2c, 0x3b, 0, 1, &id, sizeof(uint8_t));
>>> +	fsl_i2c_stop(i2c);
>>> +
>>> +	if (ret == -1) {
>>> +		/* Enable I2C bus on GBX460. */
>>> +		out_be16(IOMEM(0xfc010020), 0);
>>> +		ret = fsl_i2c_read(i2c, 0x3b, 0, 1, &id, sizeof(uint8_t));
>>> +		fsl_i2c_stop(i2c);
>> why you do not simly use the standdard i2c AP?
> 
> I think because the machine is still running from SRAM or flash here and
> I2C is needed to read out the SPD EEPROM for setting up SDRAM.

At this stage the code has been relocated in memory. The function below
is called early in the initcall table after busses initialization.
I am looking into this.


> 
>>> +
>>> +core_initcall(da923rc_board_init_r);
> 
> I just wonder that this function is called from initcall context. I
> would assume the initcalls start running from SDRAM. I wonder how this
> works.
> 
> Sascha
> 
> 


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux