hc
2024-03-26 e0728245c89800c2038c23308f2d88969d5b41c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
 * Copyright (c) 2013 Google, Inc
 *
 * (C) Copyright 2012
 * Pavel Herrmann <morpheus.ibis@gmail.com>
 *
 * SPDX-License-Identifier:    GPL-2.0+
 */
 
#ifndef _DM_UCLASS_ID_H
#define _DM_UCLASS_ID_H
 
/* TODO(sjg@chromium.org): this could be compile-time generated */
enum uclass_id {
   /* These are used internally by driver model */
   UCLASS_ROOT = 0,
   UCLASS_DEMO,
   UCLASS_TEST,
   UCLASS_TEST_FDT,
   UCLASS_TEST_BUS,
   UCLASS_TEST_PROBE,
   UCLASS_SPI_EMUL,    /* sandbox SPI device emulator */
   UCLASS_I2C_EMUL,    /* sandbox I2C device emulator */
   UCLASS_PCI_EMUL,    /* sandbox PCI device emulator */
   UCLASS_USB_EMUL,    /* sandbox USB bus device emulator */
   UCLASS_SIMPLE_BUS,    /* bus with child devices */
 
   /* U-Boot uclasses start here - in alphabetical order */
   UCLASS_ADC,        /* Analog-to-digital converter */
   UCLASS_AHCI,        /* SATA disk controller */
   UCLASS_BLK,        /* Block device */
   UCLASS_CLK,        /* Clock source, e.g. used by peripherals */
   UCLASS_CPU,        /* CPU, typically part of an SoC */
   UCLASS_AMP,        /* Asymmetric Multi-Processing */
   UCLASS_CODEC,        /* audio codec */
   UCLASS_CROS_EC,        /* Chrome OS EC */
   UCLASS_DISPLAY,        /* Display (e.g. DisplayPort, HDMI) */
   UCLASS_DMA,        /* Direct Memory Access */
   UCLASS_ETH,        /* Ethernet device */
   UCLASS_GPIO,        /* Bank of general-purpose I/O pins */
   UCLASS_FIRMWARE,    /* Firmware */
   UCLASS_I2C,        /* I2C bus */
   UCLASS_I2C_EEPROM,    /* I2C EEPROM device */
   UCLASS_I2C_GENERIC,    /* Generic I2C device */
   UCLASS_I2C_MUX,        /* I2C multiplexer */
   UCLASS_I2S,        /* I2S bus */
   UCLASS_IDE,        /* IDE device */
   UCLASS_IRQ,        /* Interrupt controller */
   UCLASS_KEYBOARD,    /* Keyboard input device */
   UCLASS_LED,        /* Light-emitting diode (LED) */
   UCLASS_LPC,        /* x86 'low pin count' interface */
   UCLASS_MAILBOX,        /* Mailbox controller */
   UCLASS_MASS_STORAGE,    /* Mass storage device */
   UCLASS_MISC,        /* Miscellaneous device */
   UCLASS_MMC,        /* SD / MMC card or chip */
   UCLASS_MOD_EXP,        /* RSA Mod Exp device */
   UCLASS_MTD,        /* Memory Technology Device (MTD) device */
   UCLASS_NOP,        /* No-op devices */
   UCLASS_NORTHBRIDGE,    /* Intel Northbridge / SDRAM controller */
   UCLASS_NVME,        /* NVM Express device */
   UCLASS_PANEL,        /* Display panel, such as an LCD */
   UCLASS_PANEL_BACKLIGHT,    /* Backlight controller for panel */
   UCLASS_PCH,        /* x86 platform controller hub */
   UCLASS_PCI,        /* PCI bus */
   UCLASS_PCI_GENERIC,    /* Generic PCI bus device */
   UCLASS_PHY,        /* Physical Layer (PHY) device */
   UCLASS_PINCONFIG,    /* Pin configuration node device */
   UCLASS_PINCTRL,        /* Pinctrl (pin muxing/configuration) device */
   UCLASS_PMIC,        /* PMIC I/O device */
   UCLASS_PWM,        /* Pulse-width modulator */
   UCLASS_POWER_DOMAIN,    /* (SoC) Power domains */
   UCLASS_PWRSEQ,        /* Power sequence device */
   UCLASS_RAM,        /* RAM controller */
   UCLASS_REGULATOR,    /* Regulator device */
   UCLASS_REMOTEPROC,    /* Remote Processor device */
   UCLASS_RESET,        /* Reset controller device */
   UCLASS_RKNAND,        /* Rockchip nand device with ftl */
   UCLASS_RAMDISK,        /* Virtual ram disk */
   UCLASS_RTC,        /* Real time clock device */
   UCLASS_SCMI_AGENT,    /* Interface with an SCMI server */
   UCLASS_SCSI,        /* SCSI device */
   UCLASS_SERIAL,        /* Serial UART */
   UCLASS_SPI,        /* SPI bus */
   UCLASS_SPMI,        /* System Power Management Interface bus */
   UCLASS_SPI_FLASH,    /* SPI flash */
   UCLASS_SPI_GENERIC,    /* Generic SPI flash target */
   UCLASS_SYSCON,        /* System configuration device */
   UCLASS_SYSRESET,    /* System reset device */
   UCLASS_THERMAL,        /* Thermal sensor */
   UCLASS_TIMER,        /* Timer device */
   UCLASS_TPM,        /* Trusted Platform Module TIS interface */
   UCLASS_UFS,             /* Universal Flash Storage */
   UCLASS_USB,        /* USB bus */
   UCLASS_USB_DEV_GENERIC,    /* USB generic device */
   UCLASS_USB_HUB,        /* USB hub */
   UCLASS_USB_GADGET_GENERIC,    /* USB generic device */
   UCLASS_VIDEO,        /* Video or LCD device */
   UCLASS_VIDEO_BRIDGE,    /* Video bridge, e.g. DisplayPort to LVDS */
   UCLASS_VIDEO_CONSOLE,    /* Text console driver for video device */
   UCLASS_VIDEO_CRTC,    /* Display Controller */
   UCLASS_WDT,        /* Watchdot Timer driver */
 
   UCLASS_FG,        /* Fuel gauge */
   UCLASS_KEY,        /* Key */
   UCLASS_RC,        /* Remote Controller */
   UCLASS_CHARGE_DISPLAY,    /* Charge display */
   UCLASS_DVFS,        /* DVFS policy */
   UCLASS_IO_DOMAIN,    /* IO domain */
   UCLASS_CRYPTO,        /* Crypto */
   UCLASS_ETH_PHY,        /* Ethernet PHY device */
   UCLASS_MDIO,        /* MDIO bus */
   UCLASS_EBC,        /* EBC Controller for eink screen */
   UCLASS_EINK_DISPLAY,    /* EINK screen display driver */
   UCLASS_RNG,        /* Random Number Generator */
   UCLASS_DMC,        /* Dynamic Memory Interface */
   UCLASS_PD,        /* power delivery */
   UCLASS_COUNT,
   UCLASS_INVALID = -1,
};
 
#endif