xref: /openbmc/u-boot/include/dm-demo.h (revision e8f80a5a)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
239f7611fSSimon Glass /*
339f7611fSSimon Glass  * Copyright (c) 2013 Google, Inc
439f7611fSSimon Glass  */
539f7611fSSimon Glass 
639f7611fSSimon Glass #ifndef __DM_DEMO_H
739f7611fSSimon Glass #define __DM_DEMO_H
839f7611fSSimon Glass 
939f7611fSSimon Glass #include <dm.h>
1039f7611fSSimon Glass 
1139f7611fSSimon Glass /**
1239f7611fSSimon Glass  * struct dm_demo_pdata - configuration data for demo instance
1339f7611fSSimon Glass  *
1439f7611fSSimon Glass  * @colour: Color of the demo
1539f7611fSSimon Glass  * @sides: Numbers of sides
1639f7611fSSimon Glass  * @default_char: Default ASCII character to output (65 = 'A')
1739f7611fSSimon Glass  */
1839f7611fSSimon Glass struct dm_demo_pdata {
1939f7611fSSimon Glass 	const char *colour;
2039f7611fSSimon Glass 	int sides;
2139f7611fSSimon Glass 	int default_char;
2239f7611fSSimon Glass };
2339f7611fSSimon Glass 
2439f7611fSSimon Glass struct demo_ops {
2554c5d08aSHeiko Schocher 	int (*hello)(struct udevice *dev, int ch);
2654c5d08aSHeiko Schocher 	int (*status)(struct udevice *dev, int *status);
27a02af4aeSSimon Glass 	int (*set_light)(struct udevice *dev, int light);
28a02af4aeSSimon Glass 	int (*get_light)(struct udevice *dev);
2939f7611fSSimon Glass };
3039f7611fSSimon Glass 
3154c5d08aSHeiko Schocher int demo_hello(struct udevice *dev, int ch);
3254c5d08aSHeiko Schocher int demo_status(struct udevice *dev, int *status);
33a02af4aeSSimon Glass int demo_set_light(struct udevice *dev, int light);
34a02af4aeSSimon Glass int demo_get_light(struct udevice *dev);
3539f7611fSSimon Glass int demo_list(void);
3639f7611fSSimon Glass 
3754c5d08aSHeiko Schocher int demo_parse_dt(struct udevice *dev);
3839f7611fSSimon Glass 
3939f7611fSSimon Glass #endif
40