xref: /rk3399_rockchip-uboot/include/dm-demo.h (revision e1cc4d31f889428a4ca73120951389c756404184)
139f7611fSSimon Glass /*
239f7611fSSimon Glass  * Copyright (c) 2013 Google, Inc
339f7611fSSimon Glass  *
439f7611fSSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
539f7611fSSimon Glass  */
639f7611fSSimon Glass 
739f7611fSSimon Glass #ifndef __DM_DEMO_H
839f7611fSSimon Glass #define __DM_DEMO_H
939f7611fSSimon Glass 
1039f7611fSSimon Glass #include <dm.h>
1139f7611fSSimon Glass 
1239f7611fSSimon Glass /**
1339f7611fSSimon Glass  * struct dm_demo_pdata - configuration data for demo instance
1439f7611fSSimon Glass  *
1539f7611fSSimon Glass  * @colour: Color of the demo
1639f7611fSSimon Glass  * @sides: Numbers of sides
1739f7611fSSimon Glass  * @default_char: Default ASCII character to output (65 = 'A')
1839f7611fSSimon Glass  */
1939f7611fSSimon Glass struct dm_demo_pdata {
2039f7611fSSimon Glass 	const char *colour;
2139f7611fSSimon Glass 	int sides;
2239f7611fSSimon Glass 	int default_char;
2339f7611fSSimon Glass };
2439f7611fSSimon Glass 
2539f7611fSSimon Glass struct demo_ops {
2654c5d08aSHeiko Schocher 	int (*hello)(struct udevice *dev, int ch);
2754c5d08aSHeiko Schocher 	int (*status)(struct udevice *dev, int *status);
28*a02af4aeSSimon Glass 	int (*set_light)(struct udevice *dev, int light);
29*a02af4aeSSimon Glass 	int (*get_light)(struct udevice *dev);
3039f7611fSSimon Glass };
3139f7611fSSimon Glass 
3254c5d08aSHeiko Schocher int demo_hello(struct udevice *dev, int ch);
3354c5d08aSHeiko Schocher int demo_status(struct udevice *dev, int *status);
34*a02af4aeSSimon Glass int demo_set_light(struct udevice *dev, int light);
35*a02af4aeSSimon Glass int demo_get_light(struct udevice *dev);
3639f7611fSSimon Glass int demo_list(void);
3739f7611fSSimon Glass 
3854c5d08aSHeiko Schocher int demo_parse_dt(struct udevice *dev);
3939f7611fSSimon Glass 
4039f7611fSSimon Glass #endif
41