[U-Boot] [PATCH v3 01/11] sun6i: Add new p2wi controller driver

Hans de Goede hdegoede at redhat.com
Sat Nov 8 11:22:02 CET 2014


Hi,

On 11/08/2014 11:14 AM, Ian Campbell wrote:
> On Fri, 2014-11-07 at 20:46 +0100, Hans de Goede wrote:
>> From: Oliver Schinagl <oliver at schinagl.nl>
>>
>> The A31 uses a new push-pull two wire interface, which features higher
>> transfer speeds (upto 6 MHz) in theory. While the hardware can burst 8
>> bytes each time, this driver will only see very little use and thus is
>> limited to single byte transmission only.
>>
>> Signed-off-by: Oliver Schinagl <oliver at schinagl.nl>
>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> 
> Acked-by: Ian Campbell <ijc at hellion.org.uk>
> 
> One question:
>> +int p2wi_change_to_p2wi_mode(u8 slave_addr, u8 ctrl_reg, u8 init_data)
>> +{
>> +	struct sunxi_p2wi_reg *p2wi = (struct sunxi_p2wi_reg *)SUNXI_P2WI_BASE;
>> +	unsigned long tmo = timer_get_us() + 1000000;
>> +
>> +	writel(P2WI_PM_DEV_ADDR(slave_addr) |
>> +	       P2WI_PM_CTRL_ADDR(ctrl_reg) |
>> +	       P2WI_PM_INIT_DATA(init_data) |
>> +	       P2WI_PM_INIT_SEND,
>> +	       &p2wi->pm);
>> +
>> +	while ((readl(&p2wi->pm) & P2WI_PM_INIT_SEND)) {
>> +		if (timer_get_us() > tmo)
>> +			return -EFAULT;
> 
> You don't mean ETIME(DOUT) or something here, do you? EFAULT seems a bit
> odd.

Yes, ETIME would be much better will fix for v4.

Regards,

Hans


More information about the U-Boot mailing list