mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 08:21:36 +01:00 
			
		
		
		
	Add a new 'demo light' command which uses GPIOs to control imaginary lights. Each light is assigned a bit number in the overall value. This provides an example driver for using the new GPIO API. Signed-off-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			41 lines
		
	
	
		
			880 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			880 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2013 Google, Inc
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #ifndef __DM_DEMO_H
 | |
| #define __DM_DEMO_H
 | |
| 
 | |
| #include <dm.h>
 | |
| 
 | |
| /**
 | |
|  * struct dm_demo_pdata - configuration data for demo instance
 | |
|  *
 | |
|  * @colour: Color of the demo
 | |
|  * @sides: Numbers of sides
 | |
|  * @default_char: Default ASCII character to output (65 = 'A')
 | |
|  */
 | |
| struct dm_demo_pdata {
 | |
| 	const char *colour;
 | |
| 	int sides;
 | |
| 	int default_char;
 | |
| };
 | |
| 
 | |
| struct demo_ops {
 | |
| 	int (*hello)(struct udevice *dev, int ch);
 | |
| 	int (*status)(struct udevice *dev, int *status);
 | |
| 	int (*set_light)(struct udevice *dev, int light);
 | |
| 	int (*get_light)(struct udevice *dev);
 | |
| };
 | |
| 
 | |
| int demo_hello(struct udevice *dev, int ch);
 | |
| int demo_status(struct udevice *dev, int *status);
 | |
| int demo_set_light(struct udevice *dev, int light);
 | |
| int demo_get_light(struct udevice *dev);
 | |
| int demo_list(void);
 | |
| 
 | |
| int demo_parse_dt(struct udevice *dev);
 | |
| 
 | |
| #endif
 |