mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-16 17:58:23 +00:00
a02af4aeec
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>
40 lines
880 B
C
40 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
|