uclass-id.h 4.3 KB
Newer Older
1
/* SPDX-License-Identifier: GPL-2.0+ */
S
Simon Glass 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/*
 * Copyright (c) 2013 Google, Inc
 *
 * (C) Copyright 2012
 * Pavel Herrmann <morpheus.ibis@gmail.com>
 */

#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,
19
	UCLASS_TEST_BUS,
20
	UCLASS_TEST_PROBE,
21
	UCLASS_TEST_DUMMY,
22
	UCLASS_SPI_EMUL,	/* sandbox SPI device emulator */
23
	UCLASS_I2C_EMUL,	/* sandbox I2C device emulator */
24
	UCLASS_I2C_EMUL_PARENT,	/* parent for I2C device emulators */
25
	UCLASS_PCI_EMUL,	/* sandbox PCI device emulator */
26
	UCLASS_USB_EMUL,	/* sandbox USB bus device emulator */
27
	UCLASS_AXI_EMUL,	/* sandbox AXI bus device emulator */
S
Simon Glass 已提交
28

S
Simon Glass 已提交
29
	/* U-Boot uclasses start here - in alphabetical order */
30
	UCLASS_ADC,		/* Analog-to-digital converter */
S
Simon Glass 已提交
31
	UCLASS_AHCI,		/* SATA disk controller */
32
	UCLASS_AXI,		/* AXI bus */
S
Simon Glass 已提交
33
	UCLASS_BLK,		/* Block device */
M
Mario Six 已提交
34
	UCLASS_BOARD,		/* Device information from hardware */
35
	UCLASS_BOOTCOUNT,       /* Bootcount backing store */
S
Simon Glass 已提交
36
	UCLASS_CLK,		/* Clock source, e.g. used by peripherals */
S
Simon Glass 已提交
37 38
	UCLASS_CPU,		/* CPU, typically part of an SoC */
	UCLASS_CROS_EC,		/* Chrome OS EC */
39
	UCLASS_DISPLAY,		/* Display (e.g. DisplayPort, HDMI) */
M
Mugunthan V N 已提交
40
	UCLASS_DMA,		/* Direct Memory Access */
41
	UCLASS_EFI,		/* EFI managed devices */
S
Simon Glass 已提交
42
	UCLASS_ETH,		/* Ethernet device */
43
	UCLASS_FIRMWARE,	/* Firmware */
44
	UCLASS_FS_FIRMWARE_LOADER,		/* Generic loader */
45
	UCLASS_GPIO,		/* Bank of general-purpose I/O pins */
46
	UCLASS_HWSPINLOCK,	/* Hardware semaphores */
S
Simon Glass 已提交
47
	UCLASS_I2C,		/* I2C bus */
S
Simon Glass 已提交
48
	UCLASS_I2C_EEPROM,	/* I2C EEPROM device */
S
Simon Glass 已提交
49
	UCLASS_I2C_GENERIC,	/* Generic I2C device */
50
	UCLASS_I2C_MUX,		/* I2C multiplexer */
51
	UCLASS_IDE,		/* IDE device */
52
	UCLASS_IRQ,		/* Interrupt controller */
53
	UCLASS_KEYBOARD,	/* Keyboard input device */
S
Simon Glass 已提交
54
	UCLASS_LED,		/* Light-emitting diode (LED) */
S
Simon Glass 已提交
55
	UCLASS_LPC,		/* x86 'low pin count' interface */
56
	UCLASS_MAILBOX,		/* Mailbox controller */
S
Simon Glass 已提交
57
	UCLASS_MASS_STORAGE,	/* Mass storage device */
T
Thomas Chou 已提交
58
	UCLASS_MISC,		/* Miscellaneous device */
S
Simon Glass 已提交
59
	UCLASS_MMC,		/* SD / MMC card or chip */
60
	UCLASS_MOD_EXP,		/* RSA Mod Exp device */
T
Thomas Chou 已提交
61
	UCLASS_MTD,		/* Memory Technology Device (MTD) device */
S
Simon Glass 已提交
62
	UCLASS_NORTHBRIDGE,	/* Intel Northbridge / SDRAM controller */
63
	UCLASS_NVME,		/* NVM Express device */
S
Simon Glass 已提交
64
	UCLASS_PANEL,		/* Display panel, such as an LCD */
65
	UCLASS_PANEL_BACKLIGHT,	/* Backlight controller for panel */
S
Simon Glass 已提交
66
	UCLASS_PCH,		/* x86 platform controller hub */
S
Simon Glass 已提交
67 68
	UCLASS_PCI,		/* PCI bus */
	UCLASS_PCI_GENERIC,	/* Generic PCI bus device */
69
	UCLASS_PHY,		/* Physical Layer (PHY) device */
70
	UCLASS_PINCONFIG,	/* Pin configuration node device */
71
	UCLASS_PINCTRL,		/* Pinctrl (pin muxing/configuration) device */
72
	UCLASS_PMIC,		/* PMIC I/O device */
73
	UCLASS_POWER_DOMAIN,	/* (SoC) Power domains */
74
	UCLASS_PWM,		/* Pulse-width modulator */
S
Simon Glass 已提交
75
	UCLASS_PWRSEQ,		/* Power sequence device */
76
	UCLASS_RAM,		/* RAM controller */
77
	UCLASS_REGULATOR,	/* Regulator device */
78
	UCLASS_REMOTEPROC,	/* Remote Processor device */
79
	UCLASS_RESET,		/* Reset controller device */
S
Simon Glass 已提交
80
	UCLASS_RTC,		/* Real time clock device */
81
	UCLASS_SCSI,		/* SCSI device */
S
Simon Glass 已提交
82
	UCLASS_SERIAL,		/* Serial UART */
83
	UCLASS_SIMPLE_BUS,	/* Bus with child devices */
R
Ramon Fried 已提交
84
	UCLASS_SMEM,		/* Shared memory interface */
S
Simon Glass 已提交
85 86
	UCLASS_SPI,		/* SPI bus */
	UCLASS_SPI_FLASH,	/* SPI flash */
87
	UCLASS_SPI_GENERIC,	/* Generic SPI flash target */
88
	UCLASS_SPMI,		/* System Power Management Interface bus */
89
	UCLASS_SYSCON,		/* System configuration device */
S
Stephen Warren 已提交
90
	UCLASS_SYSRESET,	/* System reset device */
91
	UCLASS_TEE,		/* Trusted Execution Environment device */
S
Simon Glass 已提交
92
	UCLASS_THERMAL,		/* Thermal sensor */
T
Thomas Chou 已提交
93
	UCLASS_TIMER,		/* Timer device */
94
	UCLASS_TPM,		/* Trusted Platform Module TIS interface */
95
	UCLASS_USB,		/* USB bus */
96
	UCLASS_USB_DEV_GENERIC,	/* USB generic device */
S
Simon Glass 已提交
97
	UCLASS_USB_HUB,		/* USB hub */
98
	UCLASS_USB_GADGET_GENERIC,	/* USB generic device */
S
Simon Glass 已提交
99
	UCLASS_VIDEO,		/* Video or LCD device */
100
	UCLASS_VIDEO_BRIDGE,	/* Video bridge, e.g. DisplayPort to LVDS */
101
	UCLASS_VIDEO_CONSOLE,	/* Text console driver for video device */
M
Mario Six 已提交
102
	UCLASS_VIDEO_OSD,	/* On-screen display */
103
	UCLASS_VIRTIO,		/* VirtIO transport device */
M
Maxime Ripard 已提交
104
	UCLASS_W1,		/* Dallas 1-Wire bus */
105
	UCLASS_W1_EEPROM,	/* one-wire EEPROMs */
M
maxims@google.com 已提交
106
	UCLASS_WDT,		/* Watchdot Timer driver */
S
Simon Glass 已提交
107 108 109 110 111 112

	UCLASS_COUNT,
	UCLASS_INVALID = -1,
};

#endif