mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-03 21:48:15 +00:00 
			
		
		
		
	Add a uclass which provides access to SPI buses and includes operations required by SPI. For a time driver model will need to co-exist with the legacy SPI interface so some parts of the header file are changed depending on which is in use. The exports are adjusted also since some functions are not available with driver model. Boards must define CONFIG_DM_SPI to use driver model for SPI. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com> (Discussed some follow-up comments which will address in future add-ons)
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#include <common.h>
 | 
						|
#include <exports.h>
 | 
						|
#include <spi.h>
 | 
						|
 | 
						|
DECLARE_GLOBAL_DATA_PTR;
 | 
						|
 | 
						|
__attribute__((unused)) static void dummy(void)
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
unsigned long get_version(void)
 | 
						|
{
 | 
						|
	return XF_VERSION;
 | 
						|
}
 | 
						|
 | 
						|
/* Reuse _exports.h with a little trickery to avoid bitrot */
 | 
						|
#define EXPORT_FUNC(sym) gd->jt[XF_##sym] = (void *)sym;
 | 
						|
 | 
						|
#if !defined(CONFIG_X86) && !defined(CONFIG_PPC)
 | 
						|
# define install_hdlr      dummy
 | 
						|
# define free_hdlr         dummy
 | 
						|
#else /* kludge for non-standard function naming */
 | 
						|
# define install_hdlr      irq_install_handler
 | 
						|
# define free_hdlr         irq_free_handler
 | 
						|
#endif
 | 
						|
#ifndef CONFIG_CMD_I2C
 | 
						|
# define i2c_write         dummy
 | 
						|
# define i2c_read          dummy
 | 
						|
#endif
 | 
						|
#if !defined(CONFIG_CMD_SPI) || defined(CONFIG_DM_SPI)
 | 
						|
# define spi_init          dummy
 | 
						|
# define spi_setup_slave   dummy
 | 
						|
# define spi_free_slave    dummy
 | 
						|
#endif
 | 
						|
#ifndef CONFIG_CMD_SPI
 | 
						|
# define spi_claim_bus     dummy
 | 
						|
# define spi_release_bus   dummy
 | 
						|
# define spi_xfer          dummy
 | 
						|
#endif
 | 
						|
 | 
						|
void jumptable_init(void)
 | 
						|
{
 | 
						|
	gd->jt = malloc(XF_MAX * sizeof(void *));
 | 
						|
#include <_exports.h>
 | 
						|
}
 |