xref: /rk3399_rockchip-uboot/include/dm/uclass-id.h (revision 426736b6bf990212cf6db1013ac375975d9bc803)
16494d708SSimon Glass /*
26494d708SSimon Glass  * Copyright (c) 2013 Google, Inc
36494d708SSimon Glass  *
46494d708SSimon Glass  * (C) Copyright 2012
56494d708SSimon Glass  * Pavel Herrmann <morpheus.ibis@gmail.com>
66494d708SSimon Glass  *
76494d708SSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
86494d708SSimon Glass  */
96494d708SSimon Glass 
106494d708SSimon Glass #ifndef _DM_UCLASS_ID_H
116494d708SSimon Glass #define _DM_UCLASS_ID_H
126494d708SSimon Glass 
136494d708SSimon Glass /* TODO(sjg@chromium.org): this could be compile-time generated */
146494d708SSimon Glass enum uclass_id {
156494d708SSimon Glass 	/* These are used internally by driver model */
166494d708SSimon Glass 	UCLASS_ROOT = 0,
176494d708SSimon Glass 	UCLASS_DEMO,
186494d708SSimon Glass 	UCLASS_TEST,
196494d708SSimon Glass 	UCLASS_TEST_FDT,
201ca7e206SSimon Glass 	UCLASS_TEST_BUS,
2198561572SSimon Glass 	UCLASS_TEST_PROBE,
22c60e1f25SSimon Glass 	UCLASS_SPI_EMUL,	/* sandbox SPI device emulator */
23c70c71d8SSimon Glass 	UCLASS_I2C_EMUL,	/* sandbox I2C device emulator */
2436d0d3b4SSimon Glass 	UCLASS_PCI_EMUL,	/* sandbox PCI device emulator */
25019808f9SSimon Glass 	UCLASS_USB_EMUL,	/* sandbox USB bus device emulator */
263d7cf419SSimon Glass 	UCLASS_SIMPLE_BUS,	/* bus with child devices */
276494d708SSimon Glass 
283d7cf419SSimon Glass 	/* U-Boot uclasses start here - in alphabetical order */
295decbf53SPrzemyslaw Marczak 	UCLASS_ADC,		/* Analog-to-digital converter */
30a219639dSSimon Glass 	UCLASS_AHCI,		/* SATA disk controller */
3109d71aacSSimon Glass 	UCLASS_BLK,		/* Block device */
32f26c8a8eSSimon Glass 	UCLASS_CLK,		/* Clock source, e.g. used by peripherals */
333d7cf419SSimon Glass 	UCLASS_CPU,		/* CPU, typically part of an SoC */
344388decaSJoseph Chen 	UCLASS_AMP,		/* Asymmetric Multi-Processing */
354afb7f9cSSugar Zhang 	UCLASS_CODEC,		/* audio codec */
363d7cf419SSimon Glass 	UCLASS_CROS_EC,		/* Chrome OS EC */
372dcf1433SSimon Glass 	UCLASS_DISPLAY,		/* Display (e.g. DisplayPort, HDMI) */
38a0594cefSMugunthan V N 	UCLASS_DMA,		/* Direct Memory Access */
393d7cf419SSimon Glass 	UCLASS_ETH,		/* Ethernet device */
400040b944SSimon Glass 	UCLASS_GPIO,		/* Bank of general-purpose I/O pins */
41573a3811SMasahiro Yamada 	UCLASS_FIRMWARE,	/* Firmware */
423d7cf419SSimon Glass 	UCLASS_I2C,		/* I2C bus */
433d7cf419SSimon Glass 	UCLASS_I2C_EEPROM,	/* I2C EEPROM device */
443d7cf419SSimon Glass 	UCLASS_I2C_GENERIC,	/* Generic I2C device */
453d1957f0SSimon Glass 	UCLASS_I2C_MUX,		/* I2C multiplexer */
4669ab2873SSugar Zhang 	UCLASS_I2S,		/* I2S bus */
4768e6f221SBin Meng 	UCLASS_IDE,		/* IDE device */
48e76187a3SSimon Glass 	UCLASS_IRQ,		/* Interrupt controller */
4934ab37eeSSimon Glass 	UCLASS_KEYBOARD,	/* Keyboard input device */
505917112cSSimon Glass 	UCLASS_LED,		/* Light-emitting diode (LED) */
513d7cf419SSimon Glass 	UCLASS_LPC,		/* x86 'low pin count' interface */
526238935dSStephen Warren 	UCLASS_MAILBOX,		/* Mailbox controller */
533d7cf419SSimon Glass 	UCLASS_MASS_STORAGE,	/* Mass storage device */
544395e06eSThomas Chou 	UCLASS_MISC,		/* Miscellaneous device */
55e7ecf7cbSSimon Glass 	UCLASS_MMC,		/* SD / MMC card or chip */
563d7cf419SSimon Glass 	UCLASS_MOD_EXP,		/* RSA Mod Exp device */
57d8587993SThomas Chou 	UCLASS_MTD,		/* Memory Technology Device (MTD) device */
5894fbbf0fSJean-Jacques Hiblot 	UCLASS_NOP,		/* No-op devices */
595544757cSSimon Glass 	UCLASS_NORTHBRIDGE,	/* Intel Northbridge / SDRAM controller */
60ffab6945SZhikang Zhang 	UCLASS_NVME,		/* NVM Express device */
61f563dc1dSSimon Glass 	UCLASS_PANEL,		/* Display panel, such as an LCD */
62363bf77aSSimon Glass 	UCLASS_PANEL_BACKLIGHT,	/* Backlight controller for panel */
633d7cf419SSimon Glass 	UCLASS_PCH,		/* x86 platform controller hub */
643d7cf419SSimon Glass 	UCLASS_PCI,		/* PCI bus */
653d7cf419SSimon Glass 	UCLASS_PCI_GENERIC,	/* Generic PCI bus device */
6672e5016fSJean-Jacques Hiblot 	UCLASS_PHY,		/* Physical Layer (PHY) device */
67d90a5a30SMasahiro Yamada 	UCLASS_PINCONFIG,	/* Pin configuration node device */
686f0e7a36SBin Meng 	UCLASS_PINCTRL,		/* Pinctrl (pin muxing/configuration) device */
694e389366SSimon Glass 	UCLASS_PMIC,		/* PMIC I/O device */
70fc760cb8SSimon Glass 	UCLASS_PWM,		/* Pulse-width modulator */
7161f5ddcbSStephen Warren 	UCLASS_POWER_DOMAIN,	/* (SoC) Power domains */
725fd6badbSSimon Glass 	UCLASS_PWRSEQ,		/* Power sequence device */
736f0e7a36SBin Meng 	UCLASS_RAM,		/* RAM controller */
744e389366SSimon Glass 	UCLASS_REGULATOR,	/* Regulator device */
75ddf56bc7SNishanth Menon 	UCLASS_REMOTEPROC,	/* Remote Processor device */
7689c1e2daSStephen Warren 	UCLASS_RESET,		/* Reset controller device */
77441217e3SZhaoyifeng 	UCLASS_RKNAND,		/* Rockchip nand device with ftl */
78a3fec70dSJoseph Chen 	UCLASS_RAMDISK,		/* Virtual ram disk */
793d7cf419SSimon Glass 	UCLASS_RTC,		/* Real time clock device */
801afcdfc6SEtienne Carriere 	UCLASS_SCMI_AGENT,	/* Interface with an SCMI server */
81e8a016b5SMichal Simek 	UCLASS_SCSI,		/* SCSI device */
8257d92753SSimon Glass 	UCLASS_SERIAL,		/* Serial UART */
83d7af6a48SSimon Glass 	UCLASS_SPI,		/* SPI bus */
8404868b40SMateusz Kulikowski 	UCLASS_SPMI,		/* System Power Management Interface bus */
854c2dbefdSSimon Glass 	UCLASS_SPI_FLASH,	/* SPI flash */
864e389366SSimon Glass 	UCLASS_SPI_GENERIC,	/* Generic SPI flash target */
8757251285SSimon Glass 	UCLASS_SYSCON,		/* System configuration device */
8811636258SStephen Warren 	UCLASS_SYSRESET,	/* System reset device */
89e3568d2eSYe.Li 	UCLASS_THERMAL,		/* Thermal sensor */
90c8a7ba9eSThomas Chou 	UCLASS_TIMER,		/* Timer device */
91f255d31fSSimon Glass 	UCLASS_TPM,		/* Trusted Platform Module TIS interface */
928f7de514SShawn Lin 	UCLASS_UFS,             /* Universal Flash Storage */
93de31213fSSimon Glass 	UCLASS_USB,		/* USB bus */
94449230f0SSimon Glass 	UCLASS_USB_DEV_GENERIC,	/* USB generic device */
953d7cf419SSimon Glass 	UCLASS_USB_HUB,		/* USB hub */
9620828bbaSJean-Jacques Hiblot 	UCLASS_USB_GADGET_GENERIC,	/* USB generic device */
971acafc73SSimon Glass 	UCLASS_VIDEO,		/* Video or LCD device */
98801ab9e9SSimon Glass 	UCLASS_VIDEO_BRIDGE,	/* Video bridge, e.g. DisplayPort to LVDS */
9983510766SSimon Glass 	UCLASS_VIDEO_CONSOLE,	/* Text console driver for video device */
100186f8572SMark Yao 	UCLASS_VIDEO_CRTC,	/* Display Controller */
1010753bc2dSmaxims@google.com 	UCLASS_WDT,		/* Watchdot Timer driver */
1025cc4c624SJoseph Chen 
1031bbb461dSJoseph Chen 	UCLASS_FG,		/* Fuel gauge */
1041bbb461dSJoseph Chen 	UCLASS_KEY,		/* Key */
10509486889SZhangbin Tong 	UCLASS_RC,		/* Remote Controller */
10655b6f88eSJoseph Chen 	UCLASS_CHARGE_DISPLAY,	/* Charge display */
1070eea0d25SJoseph Chen 	UCLASS_DVFS,		/* DVFS policy */
1084f43646eSJianqun Xu 	UCLASS_IO_DOMAIN,	/* IO domain */
109cc6ac5d6SJoseph Chen 	UCLASS_CRYPTO,		/* Crypto */
1105cc4c624SJoseph Chen 	UCLASS_ETH_PHY,		/* Ethernet PHY device */
1115cc4c624SJoseph Chen 	UCLASS_MDIO,		/* MDIO bus */
11293a7515aSWenping Zhang 	UCLASS_EBC,		/* EBC Controller for eink screen */
11393a7515aSWenping Zhang 	UCLASS_EINK_DISPLAY,	/* EINK screen display driver */
11428507ac3SSughosh Ganu 	UCLASS_RNG,		/* Random Number Generator */
115a0d3d971SYouMin Chen 	UCLASS_DMC,		/* Dynamic Memory Interface */
116eef83f7dSWang Jie 	UCLASS_PD,		/* power delivery */
117*426736b6STroy Lin 	UCLASS_KEYLAD,		/* keylad used to transfer otp key */
1186494d708SSimon Glass 	UCLASS_COUNT,
1196494d708SSimon Glass 	UCLASS_INVALID = -1,
1206494d708SSimon Glass };
1216494d708SSimon Glass 
1226494d708SSimon Glass #endif
123