xref: /openbmc/u-boot/include/dm/uclass-id.h (revision 9704f23b)
1 /*
2  * Copyright (c) 2013 Google, Inc
3  *
4  * (C) Copyright 2012
5  * Pavel Herrmann <morpheus.ibis@gmail.com>
6  *
7  * SPDX-License-Identifier:	GPL-2.0+
8  */
9 
10 #ifndef _DM_UCLASS_ID_H
11 #define _DM_UCLASS_ID_H
12 
13 /* TODO(sjg@chromium.org): this could be compile-time generated */
14 enum uclass_id {
15 	/* These are used internally by driver model */
16 	UCLASS_ROOT = 0,
17 	UCLASS_DEMO,
18 	UCLASS_TEST,
19 	UCLASS_TEST_FDT,
20 	UCLASS_TEST_BUS,
21 	UCLASS_SPI_EMUL,	/* sandbox SPI device emulator */
22 	UCLASS_I2C_EMUL,	/* sandbox I2C device emulator */
23 	UCLASS_PCI_EMUL,	/* sandbox PCI device emulator */
24 	UCLASS_USB_EMUL,	/* sandbox USB bus device emulator */
25 	UCLASS_SIMPLE_BUS,
26 
27 	/* U-Boot uclasses start here */
28 	UCLASS_GPIO,		/* Bank of general-purpose I/O pins */
29 	UCLASS_SERIAL,		/* Serial UART */
30 	UCLASS_SPI,		/* SPI bus */
31 	UCLASS_SPI_GENERIC,	/* Generic SPI flash target */
32 	UCLASS_SPI_FLASH,	/* SPI flash */
33 	UCLASS_CROS_EC,	/* Chrome OS EC */
34 	UCLASS_THERMAL,		/* Thermal sensor */
35 	UCLASS_I2C,		/* I2C bus */
36 	UCLASS_I2C_GENERIC,	/* Generic I2C device */
37 	UCLASS_I2C_EEPROM,	/* I2C EEPROM device */
38 	UCLASS_MOD_EXP,		/* RSA Mod Exp device */
39 	UCLASS_PCI,		/* PCI bus */
40 	UCLASS_PCI_GENERIC,	/* Generic PCI bus device */
41 	UCLASS_PCH,		/* x86 platform controller hub */
42 	UCLASS_ETH,		/* Ethernet device */
43 	UCLASS_LPC,		/* x86 'low pin count' interface */
44 	UCLASS_USB,		/* USB bus */
45 	UCLASS_USB_HUB,		/* USB hub */
46 	UCLASS_USB_DEV_GENERIC,	/* USB generic device */
47 	UCLASS_MASS_STORAGE,	/* Mass storage device */
48 
49 	UCLASS_COUNT,
50 	UCLASS_INVALID = -1,
51 };
52 
53 #endif
54