Simon Glass | dd6ab88 | 2014-02-26 15:59:18 -0700 | [diff] [blame] | 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, |
Simon Glass | 4071742 | 2014-07-23 06:55:18 -0600 | [diff] [blame] | 20 | UCLASS_TEST_BUS, |
Simon Glass | 10a4a33 | 2014-10-13 23:41:53 -0600 | [diff] [blame] | 21 | UCLASS_SPI_EMUL, /* sandbox SPI device emulator */ |
Simon Glass | daa5470 | 2014-12-10 08:55:49 -0700 | [diff] [blame] | 22 | UCLASS_I2C_EMUL, /* sandbox I2C device emulator */ |
Simon Glass | d9e90bb | 2015-03-05 12:25:28 -0700 | [diff] [blame] | 23 | UCLASS_PCI_EMUL, /* sandbox PCI device emulator */ |
Simon Glass | 59d66d2 | 2015-03-25 12:22:37 -0600 | [diff] [blame] | 24 | UCLASS_USB_EMUL, /* sandbox USB bus device emulator */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 25 | UCLASS_SIMPLE_BUS, /* bus with child devices */ |
Simon Glass | dd6ab88 | 2014-02-26 15:59:18 -0700 | [diff] [blame] | 26 | |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 27 | /* U-Boot uclasses start here - in alphabetical order */ |
Przemyslaw Marczak | e0cb85b | 2015-10-27 13:08:00 +0100 | [diff] [blame] | 28 | UCLASS_ADC, /* Analog-to-digital converter */ |
Simon Glass | 36ad234 | 2015-06-23 15:39:15 -0600 | [diff] [blame] | 29 | UCLASS_CLK, /* Clock source, e.g. used by peripherals */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 30 | UCLASS_CPU, /* CPU, typically part of an SoC */ |
| 31 | UCLASS_CROS_EC, /* Chrome OS EC */ |
Simon Glass | cfe85a8 | 2016-01-17 16:11:34 -0700 | [diff] [blame] | 32 | UCLASS_DISK, /* Disk controller, e.g. SATA */ |
Simon Glass | 7d3d776 | 2016-01-21 19:45:00 -0700 | [diff] [blame] | 33 | UCLASS_DISPLAY, /* Display (e.g. DisplayPort, HDMI) */ |
Simon Glass | 3a2f3bd | 2015-06-23 15:39:04 -0600 | [diff] [blame] | 34 | UCLASS_RAM, /* RAM controller */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 35 | UCLASS_ETH, /* Ethernet device */ |
Simon Glass | cebcebb | 2014-07-23 06:55:17 -0600 | [diff] [blame] | 36 | UCLASS_GPIO, /* Bank of general-purpose I/O pins */ |
Simon Glass | c7a5890 | 2014-12-10 08:55:47 -0700 | [diff] [blame] | 37 | UCLASS_I2C, /* I2C bus */ |
Simon Glass | 6ca4ba0 | 2014-12-10 08:55:54 -0700 | [diff] [blame] | 38 | UCLASS_I2C_EEPROM, /* I2C EEPROM device */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 39 | UCLASS_I2C_GENERIC, /* Generic I2C device */ |
Simon Glass | 2a80c40 | 2015-08-03 08:19:21 -0600 | [diff] [blame] | 40 | UCLASS_I2C_MUX, /* I2C multiplexer */ |
Simon Glass | 18a8e09 | 2016-01-19 21:32:25 -0700 | [diff] [blame] | 41 | UCLASS_IRQ, /* Interrupt controller */ |
Simon Glass | 02f0c28 | 2015-09-08 11:15:11 -0600 | [diff] [blame] | 42 | UCLASS_KEYBOARD, /* Keyboard input device */ |
Simon Glass | cce3aed | 2015-06-23 15:38:45 -0600 | [diff] [blame] | 43 | UCLASS_LED, /* Light-emitting diode (LED) */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 44 | UCLASS_LPC, /* x86 'low pin count' interface */ |
| 45 | UCLASS_MASS_STORAGE, /* Mass storage device */ |
Thomas Chou | b1ed686 | 2015-10-07 20:20:51 +0800 | [diff] [blame] | 46 | UCLASS_MISC, /* Miscellaneous device */ |
Simon Glass | 1e8eb1b | 2015-06-23 15:38:48 -0600 | [diff] [blame] | 47 | UCLASS_MMC, /* SD / MMC card or chip */ |
Ruchika Gupta | 98ebb12 | 2015-01-23 16:01:52 +0530 | [diff] [blame] | 48 | UCLASS_MOD_EXP, /* RSA Mod Exp device */ |
Thomas Chou | e51b65e | 2015-11-07 14:20:31 +0800 | [diff] [blame] | 49 | UCLASS_MTD, /* Memory Technology Device (MTD) device */ |
Simon Glass | 29ce97e | 2016-01-17 16:11:14 -0700 | [diff] [blame] | 50 | UCLASS_NORTHBRIDGE, /* Intel Northbridge / SDRAM controller */ |
Simon Glass | 14d1c8e | 2016-01-21 19:44:58 -0700 | [diff] [blame] | 51 | UCLASS_PANEL, /* Display panel, such as an LCD */ |
Simon Glass | 8f79048 | 2016-01-21 19:44:56 -0700 | [diff] [blame] | 52 | UCLASS_PANEL_BACKLIGHT, /* Backlight controller for panel */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 53 | UCLASS_PCH, /* x86 platform controller hub */ |
Simon Glass | b94dc89 | 2015-03-05 12:25:25 -0700 | [diff] [blame] | 54 | UCLASS_PCI, /* PCI bus */ |
| 55 | UCLASS_PCI_GENERIC, /* Generic PCI bus device */ |
Masahiro Yamada | f8efa63 | 2015-08-27 12:44:29 +0900 | [diff] [blame] | 56 | UCLASS_PINCTRL, /* Pinctrl (pin muxing/configuration) device */ |
| 57 | UCLASS_PINCONFIG, /* Pin configuration node device */ |
Simon Glass | 682ae86 | 2015-05-22 15:42:14 -0600 | [diff] [blame] | 58 | UCLASS_PMIC, /* PMIC I/O device */ |
Simon Glass | b3f0756 | 2016-01-21 19:44:54 -0700 | [diff] [blame] | 59 | UCLASS_PWM, /* Pulse-width modulator */ |
Simon Glass | c979517 | 2016-01-21 19:43:31 -0700 | [diff] [blame] | 60 | UCLASS_PWRSEQ, /* Power sequence device */ |
Simon Glass | 682ae86 | 2015-05-22 15:42:14 -0600 | [diff] [blame] | 61 | UCLASS_REGULATOR, /* Regulator device */ |
Simon Glass | 1400086 | 2015-06-23 15:39:13 -0600 | [diff] [blame] | 62 | UCLASS_RESET, /* Reset device */ |
Nishanth Menon | 08b9dc2 | 2015-09-17 15:42:39 -0500 | [diff] [blame] | 63 | UCLASS_REMOTEPROC, /* Remote Processor device */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 64 | UCLASS_RTC, /* Real time clock device */ |
| 65 | UCLASS_SERIAL, /* Serial UART */ |
| 66 | UCLASS_SPI, /* SPI bus */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 67 | UCLASS_SPI_FLASH, /* SPI flash */ |
Simon Glass | 682ae86 | 2015-05-22 15:42:14 -0600 | [diff] [blame] | 68 | UCLASS_SPI_GENERIC, /* Generic SPI flash target */ |
Simon Glass | 6a84aaf | 2015-06-23 15:38:43 -0600 | [diff] [blame] | 69 | UCLASS_SYSCON, /* System configuration device */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 70 | UCLASS_THERMAL, /* Thermal sensor */ |
Thomas Chou | fb798b1 | 2015-10-09 13:46:34 +0800 | [diff] [blame] | 71 | UCLASS_TIMER, /* Timer device */ |
Simon Glass | 6c7a232 | 2015-08-22 18:31:31 -0600 | [diff] [blame] | 72 | UCLASS_TPM, /* Trusted Platform Module TIS interface */ |
Simon Glass | 9b82eeb | 2015-03-25 12:21:59 -0600 | [diff] [blame] | 73 | UCLASS_USB, /* USB bus */ |
Simon Glass | c79173e | 2015-03-25 12:22:31 -0600 | [diff] [blame] | 74 | UCLASS_USB_DEV_GENERIC, /* USB generic device */ |
Simon Glass | 10d8904f | 2015-04-14 21:03:19 -0600 | [diff] [blame] | 75 | UCLASS_USB_HUB, /* USB hub */ |
Simon Glass | 623d28f | 2016-01-18 19:52:15 -0700 | [diff] [blame] | 76 | UCLASS_VIDEO, /* Video or LCD device */ |
Simon Glass | 7cf1757 | 2015-07-02 18:16:08 -0600 | [diff] [blame] | 77 | UCLASS_VIDEO_BRIDGE, /* Video bridge, e.g. DisplayPort to LVDS */ |
Simon Glass | 84c7fb3 | 2016-01-18 19:52:17 -0700 | [diff] [blame] | 78 | UCLASS_VIDEO_CONSOLE, /* Text console driver for video device */ |
Simon Glass | dd6ab88 | 2014-02-26 15:59:18 -0700 | [diff] [blame] | 79 | |
Simon Glass | dd6ab88 | 2014-02-26 15:59:18 -0700 | [diff] [blame] | 80 | UCLASS_COUNT, |
| 81 | UCLASS_INVALID = -1, |
| 82 | }; |
| 83 | |
| 84 | #endif |