dm: Add twserial device document
Signed-off-by: Tomas Hlavacek<tmshlvck@gmail.com>
This commit is contained in:
		
							parent
							
								
									0d9e59948a
								
							
						
					
					
						commit
						bfae89abf1
					
				|  | @ -0,0 +1,47 @@ | ||||||
|  | ================================== | ||||||
|  | TWserial device subsystem analysis | ||||||
|  | ================================== | ||||||
|  | 
 | ||||||
|  | Tomas Hlavacek<tmshlvck@gmail.com> | ||||||
|  | 2012-03-21 | ||||||
|  | 
 | ||||||
|  | I) Overview | ||||||
|  | ----------- | ||||||
|  | 
 | ||||||
|  | U-Boot currently implements one common API for TWSerial devices. The interface | ||||||
|  | is defined in include/tws.h and comprises of functions: | ||||||
|  | 
 | ||||||
|  |     int tws_read(uchar *buffer, int len); | ||||||
|  |     int tws_write(uchar *buffer, int len); | ||||||
|  | 
 | ||||||
|  | The functions are implemented by a proper device driver in drivers/twserial | ||||||
|  | directory and the driver to be compiled in is selected in a Makefile. There is | ||||||
|  | only one driver present now. | ||||||
|  | 
 | ||||||
|  | The driver depends on ad-hoc code in board specific data, namely functions: | ||||||
|  | 
 | ||||||
|  |     void tws_ce(unsigned bit); | ||||||
|  |     void tws_wr(unsigned bit); | ||||||
|  |     void tws_clk(unsigned bit); | ||||||
|  |     void tws_data(unsigned bit); | ||||||
|  |     unsigned tws_data_read(void); | ||||||
|  |     void tws_data_config_output(unsigned output); | ||||||
|  | 
 | ||||||
|  | implemented in include/configs/inka4x0.h . | ||||||
|  | 
 | ||||||
|  | II) Approach | ||||||
|  | ------------ | ||||||
|  | 
 | ||||||
|  |   U-Boot TWserial drivers exports two simple functions and therefore the conversion | ||||||
|  |   of the driver and creating a core for it is not needed. It should be consolidated | ||||||
|  |   with include/configs/inka4x0.h and taken to the misc/ dir. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | III) Analysis of in-tree drivers | ||||||
|  | -------------------------------- | ||||||
|  | 
 | ||||||
|  |   1) drivers/twserial/soft_tws.c | ||||||
|  |   ------------------------------ | ||||||
|  |   The driver is the only TWserial driver. The ad-hoc part in | ||||||
|  |   include/configs/inka4x0.h and the core soft_tws driver should be consolidated | ||||||
|  |   to one compact driver and moved to misc/ . | ||||||
		Loading…
	
		Reference in New Issue