[U-Boot] [PATCH v5 4/5] mips: ath79: add spi driver

Marek Vasut marex at denx.de
Wed Dec 30 01:51:47 CET 2015


On Wednesday, December 30, 2015 at 12:46:23 AM, Thomas Chou wrote:
> Hi Marek,
> 
> On 2015年12月29日 21:25, Marek Vasut wrote:
> > On Tuesday, December 29, 2015 at 02:00:27 PM, Thomas Chou wrote:
> >> Hi Wills,
> >> 
> >> On 2015年12月29日 19:17, Wills Wang wrote:
> >>> diff --git a/arch/mips/mach-ath79/Kconfig
> >>> b/arch/mips/mach-ath79/Kconfig index 1d92a5b..b5668e9 100644
> >>> --- a/arch/mips/mach-ath79/Kconfig
> >>> +++ b/arch/mips/mach-ath79/Kconfig
> >>> @@ -15,6 +15,7 @@ config SOC_AR933X
> >>> 
> >>>    	select SYS_MIPS_CACHE_INIT_RAM_LOAD
> >>>    	select MIPS_TUNE_24KC
> >>>    	select AR933X_UART
> >>> 
> >>> +	select ATH79_SPI
> >> 
> >> Both AR933X_UART and ATH79_SPI should not be selected with mach Kconfig.
> >> They should go with board defconfig.
> >> 
> >>> diff --git a/drivers/spi/ath79_spi.c b/drivers/spi/ath79_spi.c
> >>> 
> >>> +static inline void ath79_spi_delay(int max_hz)
> >>> +{
> >>> +	uint64_t tick = get_tbclk();
> >>> +
> >>> +	do_div(tick, max_hz);
> >>> +	tick = get_ticks() + tick + 1;	/* get current timestamp */
> >>> +	while (get_ticks() < tick)	/* loop till event */
> >>> +		 /*NOP*/;
> >>> +}
> >> 
> >> Use udelay() instead.
> > 
> > You mean get_timer() based delay loop, yes ?
> 
> Sorry, my mistake. Just realized that we don't have nano delay yet. The
> code above is fine.

Just skimming through the code, it seems like bitbanging the SPI using the
generic soft-spi driver might be easier ;-/

Best regards,
Marek Vasut


More information about the U-Boot mailing list