# Device tree binding vendor prefix registry. Keep this list in
# alphabetical order.
#
# This isn't an exhaustive list, but you should add new prefixes to it
# before using them to avoid name-space collisions.
#
# The contents of this file are parsed during documentation generation.
# Anything that starts with a '#' is treated as a comment and ignored.
# Non-empty lines should be in this format:
#
# <vendor-prefix><TAB><Full name of vendor>

aaeon	AAEON Technology Inc.
abb	ABB
abilis	Abilis Systems
abracon	Abracon Corporation
abt	ShenZhen Asia Better Technology Ltd.
acer	Acer Inc.
acme	Acme Systems srl
actions	Actions Semiconductor Co., Ltd.
active-semi	Active-Semi International Inc
actinius	Actinius B.V.
ad	Avionic Design GmbH
adafruit	Adafruit Industries, LLC
adapteva	Adapteva, Inc.
adaptrum	Adaptrum, Inc.
adh	AD Holdings Plc.
adi	Analog Devices, Inc.
advantech	Advantech Corporation
aeroflexgaisler	Aeroflex Gaisler AB
aesop	AESOP Embedded Forum
al	Annapurna Labs
alcatel	Alcatel
allegro	Allegro DVT
allo	Allo.com
allwinner	Allwinner Technology Co., Ltd.
alphascale	AlphaScale Integrated Circuits Systems, Inc.
alps	Alps Electric Co., Ltd.
alt	Altus-Escon-Company BV
altr	Altera Corp.
ambiq	Ambiq Micro, Inc.
amarula	Amarula Solutions
amazon	Amazon.com, Inc.
amcc	Applied Micro Circuits Corporation (APM, formally AMCC)
amd	Advanced Micro Devices (AMD), Inc.
amediatech	Shenzhen Amediatech Technology Co., Ltd
amlogic	Amlogic, Inc.
ampere	Ampere Computing LLC
ampire	Ampire Co., Ltd.
ams	AMS AG
amstaos	AMS-Taos Inc.
analogix	Analogix Semiconductor, Inc.
andestech	Andes Technology Corporation
anvo	Anvo-Systems Dresden GmbH
aosong	Guangzhou Aosong Electronic Co., Ltd.
apa	Apa Electronic Co., Ltd
apm	Applied Micro Circuits Corporation (APM)
apple	Apple Inc.
aptina	Aptina Imaging
arasan	Arasan Chip Systems
archermind	ArcherMind Technology (Nanjing) Co., Ltd.
arc	Synopsys, Inc. (formerly ARC International PLC)
arctic	Arctic Sand
arcx	arcx Inc. / Archronix Inc.
arduino	Arduino
aries	Aries Embedded GmbH
arm	ARM Ltd.
armadeus	ARMadeus Systems SARL
arrow	Arrow Electronics
artesyn	Artesyn Embedded Technologies Inc.
asahi-kasei	Asahi Kasei Corp.
asmedia	ASMedia Technology Inc.
asc	All Sensors Corporation
aspeed	ASPEED Technology Inc.
asus	AsusTek Computer Inc.
atlas	Atlas Scientific LLC
atmel	Atmel Corporation
auo	AU Optronics Corporation
auvidea	Auvidea GmbH
avago	Avago Technologies
avia	avia semiconductor
avic	Shanghai AVIC Optoelectronics Co., Ltd.
avnet	Avnet, Inc.
awinic	Shanghai Awinic Technology Co., Ltd.
axentia	Axentia Technologies AB
axis	Axis Communications AB
azoteq	Azoteq (Pty) Ltd
azw	Shenzhen AZW Technology Co., Ltd.
baikal	BAIKAL ELECTRONICS, JSC
bananapi	BIPAI KEJI LIMITED
beacon	Compass Electronics Group, LLC
beagle	BeagleBoard.org Foundation
bhf	Beckhoff Automation GmbH & Co. KG
bitmain	Bitmain Technologies
blues	Blues Wireless
blutek	BluTek Power
boe	BOE Technology Group Co., Ltd.
bosch	Bosch Sensortec GmbH
boundary	Boundary Devices Inc.
broadmobi	Shanghai Broadmobi Communication Technology Co.,Ltd.
brcm	Broadcom Corporation
buffalo	Buffalo, Inc.
bur	B&R Industrial Automation GmbH
bticino	Bticino International
calaosystems	CALAO Systems SAS
calxeda	Calxeda
canaan	Canaan, Inc.
caninos	Caninos Loucos Program
capella	Capella Microsystems, Inc
cascoda	Cascoda, Ltd.
catalyst	Catalyst Semiconductor, Inc.
cavium	Cavium, Inc.
cdns	Cadence Design Systems Inc.
cdtech	CDTech(H.K.) Electronics Limited
cellwise	CellWise Microelectronics Co., Ltd
ceva	Ceva, Inc.
checkpoint	Check Point Software Technologies Ltd.
chefree	Chefree Technology Corp.
chipidea	Chipidea, Inc
chipone	ChipOne
chipspark	ChipSPARK
chrontel	Chrontel, Inc.
chrp	Common Hardware Reference Platform
chunghwa	Chunghwa Picture Tubes Ltd.
chuwi	Chuwi Innovation Ltd.
ciaa	Computadora Industrial Abierta Argentina
cirrus	Cirrus Logic, Inc.
cisco	Cisco Systems, Inc.
cloudengines	Cloud Engines, Inc.
cnm	Chips&Media, Inc.
cnxt	Conexant Systems, Inc.
colorfly	Colorful GRP, Shenzhen Xueyushi Technology Ltd.
compulab	CompuLab Ltd.
coreriver	CORERIVER Semiconductor Co.,Ltd.
corpro	Chengdu Corpro Technology Co., Ltd.
cortina	Cortina Systems, Inc.
cosmic	Cosmic Circuits
crane	Crane Connectivity Solutions
creative	Creative Technology Ltd
crystalfontz	Crystalfontz America, Inc.
csky	Hangzhou C-SKY Microsystems Co., Ltd
csq	Shenzen Chuangsiqi Technology Co.,Ltd.
cubietech	Cubietech, Ltd.
cypress	Cypress Semiconductor Corporation
cznic	CZ.NIC, z.s.p.o.
dallas	Maxim Integrated Products (formerly Dallas Semiconductor)
dataimage	DataImage, Inc.
davicom	DAVICOM Semiconductor, Inc.
decawave	Qorvo, Inc (formerly Decawave)
dell	Dell Inc.
delta	Delta Electronics, Inc.
denx	Denx Software Engineering
devantech	Devantech, Ltd.
dfi	DFI Inc.
dfrobot	DFRobot
dh	DH electronics GmbH
difrnce	Shenzhen Yagu Electronic Technology Co., Ltd.
digi	Digi International Inc.
digilent	Diglent, Inc.
diodes	Diodes Incorporated
dioo	Dioo Microcircuit Co., Ltd
dlc	DLC Display Co., Ltd.
dlg	Dialog Semiconductor
dlink	D-Link Corporation
dmo	Data Modul AG
domintech	Domintech Co., Ltd.
dongwoon	Dongwoon Anatech
dptechnics	DPTechnics
dragino	Dragino Technology Co., Limited
dserve	dServe Technology B.V.
dynaimage	Dyna-Image
ea	Embedded Artists AB
ebang	Zhejiang Ebang Communication Co., Ltd
ebs-systart	EBS-SYSTART GmbH
ebv	EBV Elektronik
eckelmann	Eckelmann AG
edt	Emerging Display Technologies
eeti	eGalax_eMPIA Technology Inc
efinix	Efinix Inc
einfochips	Einfochips
elan	Elan Microelectronic Corp.
element14	Element14 (A Premier Farnell Company)
elgin	Elgin S/A.
elida	Shenzhen Elida Technology Co., Ltd.
elimo	Elimo Engineering Ltd.
embest	Shenzhen Embest Technology Co., Ltd.
emlid	Emlid, Ltd.
emmicro	EM Microelectronic
empire-electronix	Empire Electronix
emtrion	emtrion GmbH
endless	Endless Mobile, Inc.
ene	ENE Technology, Inc.
energymicro	Silicon Laboratories (formerly Energy Micro AS)
engicam	Engicam S.r.l.
epcos	EPCOS AG
epfl	Ecole Polytechnique Fédérale de Lausanne
epson	Seiko Epson Corp.
espressif	Espressif Systems
est	ESTeem Wireless Modems
ettus	NI Ettus Research
eukrea	Eukréa Electromatique
everest	Everest Semiconductor Co. Ltd.
everlight	Everlight Electronics Co. Ltd.
everspin	Everspin Technologies, Inc.
evervision	Evervision Electronics Co. Ltd.
exar	Exar Corporation
excito	Excito
ezchip	EZchip Semiconductor
facebook	Facebook (deprecated, use meta)
fairphone	Fairphone B.V.
faraday	Faraday Technology Corporation
fastrax	Fastrax Oy
fcs	Fairchild Semiconductor
feixin	Shenzhen Feixin Photoelectic Co., Ltd
feiyang	Shenzhen Fly Young Technology Co.,LTD.
fii	Foxconn Industrial Internet
fintek	Feature Integration Technology Inc.
firefly	Firefly
focaltech	FocalTech Systems Co.,Ltd
frida	Shenzhen Frida LCD Co., Ltd.
friendlyarm	Guangzhou FriendlyARM Computer Tech Co., Ltd
fsl	Freescale Semiconductor
ftdi	Future Technology Devices International Ltd.
fujitsu	Fujitsu Ltd.
gaisler	Gaisler
gardena	GARDENA GmbH
gateworks	Gateworks Corporation
gcw	Game Consoles Worldwide
gd	GigaDevice Semiconductor
ge	General Electric Company
geekbuying	GeekBuying
gef	GE Fanuc Intelligent Platforms Embedded Systems, Inc.
GEFanuc	GE Fanuc Intelligent Platforms Embedded Systems, Inc.
gemei	Gemei Digital Technology Co., Ltd.
geniatech	Geniatech, Inc.
giantec	Giantec Semiconductor, Inc.
giantplus	Giantplus Technology Co., Ltd.
globalscale	Globalscale Technologies, Inc.
globaltop	GlobalTop Technology, Inc.
gmt	Global Mixed-mode Technology, Inc.
gooddisplay	Dalian Good Display Co., Ltd.
goodix	Shenzhen Huiding Technology Co., Ltd.
google	Google, Inc.
greeled	GreeLed Electronic Ltd.
grinn	Grinn
grmn	Garmin Limited
gss	Gas Sensing Solutions Ltd.
gumstix	Gumstix, Inc.
hamamatsu	Hamamatsu Photonics K.K.
hannstar	HannStar Display Corporation
haoyu	Haoyu Microelectronic Co. Ltd.
hardkernel	Hardkernel Co., Ltd
hideep	HiDeep Inc.
himax	Himax Technologies, Inc.
hirschmann	Hirschmann Automation and Control GmbH
hisilicon	Hisilicon Limited.
hit	Hitachi Ltd.
hitex	Hitex Development Tools
holt	Holt Integrated Circuits, Inc.
honestar	Honestar Technologies Co., Ltd.
honeywell	Honeywell
hoperf	HOPERF Microelectronics Co. Ltd
hoperun	Jiangsu HopeRun Software Co., Ltd.
hp	Hewlett Packard
hsg	HannStar Display Co.
holtek	Holtek Semiconductor, Inc.
hugsun	Shenzhen Hugsun Technology Co. Ltd.
hwacom	HwaCom Systems Inc.
hycon	Hycon Technology Corp.
hydis	Hydis Technologies
hynitron	Hynitron
hyundai	Hyundai Technology
hzgrow	Hangzhou Grow Technology Co., Ltd.
i2se	I2SE GmbH
ibm	International Business Machines (IBM)
icplus	IC Plus Corp.
idt	Integrated Device Technologies, Inc.
ifi	Ingenieurburo Fur Ic-Technologie (I/F/I)
ilitek	ILI Technology Corporation (ILITEK)
img	Imagination Technologies Ltd.
imi	Integrated Micro-Electronics Inc.
incircuit	In-Circuit GmbH
inet-tek	Shenzhen iNet Mobile Internet Technology Co., Ltd
infineon	Infineon Technologies
inforce	Inforce Computing
inventek	Inventek Systems
ivo	InfoVision Optoelectronics Kunshan Co. Ltd.
ingenic	Ingenic Semiconductor
innolux	Innolux Corporation
inside-secure	INSIDE Secure
inspur	Inspur Corporation
intel	Intel Corporation
intercontrol	Inter Control Group
invensense	InvenSense Inc.
inversepath	Inverse Path
iom	Iomega Corporation
isee	ISEE 2007 S.L.
isentek	Isentek Inc.
isil	Intersil
issi	Integrated Silicon Solutions Inc.
ite	ITE Tech. Inc.
itead	ITEAD Intelligent Systems Co.Ltd
iwave	iWave Systems Technologies Pvt. Ltd.
jdi	Japan Display Inc.
jedec	JEDEC Solid State Technology Association
jesurun	Shenzhen Jesurun Electronics Business Dept.
jianda	Jiandangjing Technology Co., Ltd.
jhd	Shenzhen Jinghua Displays Electronics Co., Ltd.
kam	Kamstrup A/S
karo	Ka-Ro electronics GmbH
keithkoep	Keith & Koep GmbH
keymile	Keymile GmbH
khadas	Khadas
kiebackpeter	Kieback & Peter GmbH
kinetic	Kinetic Technologies
kingdisplay	King & Display Technology Co., Ltd.
kingnovel	Kingnovel Technology Co., Ltd.
kionix	Kionix, Inc.
kobo	Rakuten Kobo Inc.
kobol	Kobol Innovations Pte. Ltd.
koe	Kaohsiung Opto-Electronics Inc.
kontron	Kontron S&T AG
kosagi	Sutajio Ko-Usagi PTE Ltd.
kvaser	Kvaser
kvg	Kverneland Group
kyo	Kyocera Corporation
lacie	LaCie
laird	Laird PLC
lairdconnect	Laird Connectivity
lamobo	Ketai Huajie Technology Co., Ltd.
lantiq	Lantiq Semiconductor
lattice	Lattice Semiconductor
leadtek	Shenzhen Leadtek Technology Co., Ltd.
leez	Leez
lego	LEGO Systems A/S
lemaker	Shenzhen LeMaker Technology Co., Ltd.
lenovo	Lenovo Group Ltd.
lg	LG Corporation
lgphilips	LG Display
libretech	Shenzhen Libre Technology Co., Ltd
licheepi	Lichee Pi
linaro	Linaro Limited
linksprite	LinkSprite Technologies, Inc.
linksys	Belkin International, Inc. (Linksys)
linutronix	Linutronix GmbH
linux	Linux-specific binding
linx	Linx Technologies
litex	LiteX SoC builder
lltc	Linear Technology Corporation
logicpd	Logic PD, Inc.
logictechno	Logic Technologies Limited
longcheer	Longcheer Technology (Shanghai) Co., Ltd.
lontium	Lontium Semiconductor Corporation
loongson	Loongson Technology Corporation Limited
lowrisc	lowRISC Community Interest Company
lsi	LSI Corp. (LSI Logic)
ltr	LiteOn OptoElectronics
lwn	Liebherr-Werk Nenzing GmbH
lxa	Linux Automation GmbH
m5stack	M5Stack
macnica	Macnica Americas
mantix	Mantix Display Technology Co.,Ltd.
mapleboard	Mapleboard.org
marvell	Marvell Technology Group Ltd.
maxbotix	MaxBotix Inc.
maxim	Maxim Integrated Products
mbvl	Mobiveil Inc.
mcube	mCube
meas	Measurement Specialties
mecer	Mustek Limited
mediatek	MediaTek Inc.
megachips	MegaChips
mele	Shenzhen MeLE Digital Technology Ltd.
melexis	Melexis N.V.
melfas	MELFAS Inc.
mellanox	Mellanox Technologies
memsic	MEMSIC Inc.
menlo	Menlo Systems GmbH
mentor	Mentor Graphics
meraki	Cisco Meraki, LLC
merrii	Merrii Technology Co., Ltd.
meta	Meta Platforms, Inc.
micrel	Micrel Inc.
microbit	Micro:bit Educational Foundation
microchip	Microchip Technology Inc.
microcrystal	Micro Crystal AG
micron	Micron Technology Inc.
microsoft	Microsoft Corporation
microsys	MicroSys Electronics GmbH
mikroe	MikroElektronika d.o.o.
mikrotik	MikroTik
miniand	Miniand Tech
minix	MINIX Technology Ltd.
miramems	MiraMEMS Sensing Technology Co., Ltd.
mitsubishi	Mitsubishi Electric Corporation
modtronix	Modtronix Engineering
mosaixtech	Mosaix Technologies, Inc.
motorola	Motorola, Inc.
moxa	Moxa Inc.
mpl	MPL AG
mps	Monolithic Power Systems Inc.
mqmaker	mqmaker Inc.
mrvl	Marvell Technology Group Ltd.
msi	Micro-Star International Co. Ltd.
mstar	MStar Semiconductor, Inc. (acquired by MediaTek Inc.)
mti	Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
multi-inno	Multi-Inno Technology Co.,Ltd
mundoreader	Mundo Reader S.L.
murata	Murata Manufacturing Co., Ltd.
mxicy	Macronix International Co., Ltd.
myir	MYIR Tech Limited
national	National Semiconductor
nec	NEC LCD Technologies, Ltd.
neonode	Neonode Inc.
netgear	NETGEAR
netlogic	Broadcom Corporation (formerly NetLogic Microsystems)
netron-dy	Netron DY
netronix	Netronix, Inc.
netxeon	Shenzhen Netxeon Technology CO., LTD
neweast	Guangdong Neweast Optoelectronics CO., LTD
nexbox	Nexbox
nextthing	Next Thing Co.
newhaven	Newhaven Display International
ni	National Instruments
nintendo	Nintendo
nlt	NLT Technologies, Ltd.
nokia	Nokia
nordic	Nordic Semiconductor
noritake	Noritake Co., Inc. Electronics Division
novtech	NovTech, Inc.
nutsboard	NutsBoard
nuclei	Nuclei System Technology
nuvoton	Nuvoton Technology Corporation
nvd	New Vision Display
nvidia	NVIDIA
nxp	NXP Semiconductors
oceanic	Oceanic Systems (UK) Ltd.
oct	Octavo Systems LLC
okaya	Okaya Electric America, Inc.
oki	Oki Electric Industry Co., Ltd.
olimex	OLIMEX Ltd.
olpc	One Laptop Per Child
ovti	OmniVision Technologies Co., Ltd.
onion	Onion Corporation
onnn	ON Semiconductor Corp.
ontat	On Tat Industrial Company
opalkelly	Opal Kelly Incorporated
opencores	OpenCores.org
openisa	open-isa.org
openrisc	OpenRISC.io
openthread	OpenThread.io
option	Option NV
oranth	Shenzhen Oranth Technology Co., Ltd.
ORCL	Oracle Corporation
orisetech	Orise Technology
ortustech	Ortus Technology Co., Ltd.
osddisplays	OSD Displays
ouya	Ouya Inc.
overkiz	Overkiz SAS
ovti	OmniVision Technologies
oxsemi	Oxford Semiconductor, Ltd.
ozzmaker	OzzMaker
panasonic	Panasonic Corporation
parade	Parade Technologies Inc.
particle	Particle.io
parallax	Parallax Inc.
pda	Precision Design Associates, Inc.
pericom	Pericom Technology Inc.
pervasive	Pervasive Displays, Inc.
phicomm	PHICOMM Co., Ltd.
phytec	PHYTEC Messtechnik GmbH
picochip	Picochip Ltd
pine64	Pine64
pineriver	Shenzhen PineRiver Designs Co., Ltd.
pixcir	PIXCIR MICROELECTRONICS Co., Ltd
plantower	Plantower Co., Ltd
plathome	Plat'Home Co., Ltd.
plda	PLDA
plx	Broadcom Corporation (formerly PLX Technology)
ply	Plymovent Group BV
pni	PNI Sensor Corporation
pocketbook	PocketBook International SA
polaroid	Polaroid Corporation
portwell	Portwell Inc.
poslab	Poslab Technology Co., Ltd.
pov	Point of View International B.V.
powertip	Powertip Tech. Corp.
powervr	PowerVR (deprecated, use img)
primux	Primux Trading, S.L.
probox2	PROBOX2 (by W2COMP Co., Ltd.)
prt	Protonic Holland
ptc	Princeton Technology Corp.
pulsedlight	PulsedLight, Inc
purism	Purism, SPC
qca	Qualcomm Atheros, Inc.
qcom	Qualcomm Technologies, Inc
qemu	QEMU, a generic and open source machine emulator and virtualizer
qi	Qi Hardware
qihua	Chengdu Kaixuan Information Technology Co., Ltd.
qiaodian	QiaoDian XianShi Corporation
qnap	QNAP Systems, Inc.
qorvo	Qorvo, Inc.
quectel	Quectel Wireless Solutions Co., Ltd.
quicklogic	QuickLogic Corp.
radxa	Radxa
raidsonic	RaidSonic Technology GmbH
ralink	Mediatek/Ralink Technology Corp.
ramtron	Ramtron International
raspberrypi	Raspberry Pi Foundation
raydium	Raydium Semiconductor Corp.
rda	Unisoc Communications, Inc.
realtek	Realtek Semiconductor Corp.
remarkable	reMarkable AS
renesas	Renesas Electronics Corporation
rex	iMX6 Rex Project
rervision	Shenzhen Rervision Technology Co., Ltd.
revotics	Revolution Robotics, Inc. (Revotics)
richtek	Richtek Technology Corporation
ricoh	Ricoh Co. Ltd.
rikomagic	Rikomagic Tech Corp. Ltd
riscv	RISC-V Foundation
riot	Embest RIoT
rockchip	Fuzhou Rockchip Electronics Co., Ltd
rocktech	ROCKTECH DISPLAYS LIMITED
rohm	ROHM Semiconductor Co., Ltd
ronbo	Ronbo Electronics
roofull	Shenzhen Roofull Technology Co, Ltd
ruuvi	Ruuvi Innovations Ltd (Oy)
roseapplepi	RoseapplePi.org
samsung	Samsung Semiconductor
samtec	Samtec/Softing company
sancloud	Sancloud Ltd
sandisk	Sandisk Corporation
satoz	Satoz International Co., Ltd
sbs	Smart Battery System
sc	Space Cubics, LLC
schindler	Schindler
seagate	Seagate Technology PLC
segger	SEGGER Microcontroller GmbH
seeed	Seeed Technology Co., Ltd
seirobotics	Shenzhen SEI Robotics Co., Ltd
semtech	Semtech Corporation
sensirion	Sensirion AG
sensortek	Sensortek Technology Corporation
sff	Small Form Factor Committee
sgd	Solomon Goldentek Display Corporation
sgmicro	SG Micro Corp
sgx	SGX Sensortech
sharp	Sharp Corporation
shimafuji	Shimafuji Electric, Inc.
shiratech	Shiratech Solutions
si-en	Si-En Technology Ltd.
si-linux	Silicon Linux Corporation
sifive	SiFive, Inc.
sigma	Sigma Designs, Inc.
sii	Seiko Instruments, Inc.
sil	Silicon Image
silabs	Silicon Laboratories
silead	Silead Inc.
silergy	Silergy Corp.
silex-insight	Silex Insight
siliconfile	Siliconfile Technologies lnc.
siliconmitus	Silicon Mitus, Inc.
siemens	Siemens AG
simcom	SIMCom Wireless Solutions Co., LTD
simtek	Cypress Semiconductor Corporation (Simtek Corporation)
sinlinx	Sinlinx Electronics Technology Co., LTD
sinovoip	SinoVoip Co., Ltd
sinowealth	Sino Wealth Electronic Ltd
sipeed	Shenzhen Sipeed Technology Co., Ltd.
sirf	SiRF Technology, Inc.
sis	Silicon Integrated Systems Corp.
sitronix	Sitronix Technology Corporation
skyworks	Skyworks Solutions, Inc.
smartlabs	SmartLabs LLC
smsc	Standard Microsystems Corporation
snps	Synopsys, Inc.
starfive	StarFive Technology Co. Ltd.
sochip	Shenzhen SoChip Technology Co., Ltd.
socionext	Socionext Inc.
solidrun	SolidRun
solomon	Solomon Systech Limited
sony	Sony Corporation
spansion	Spansion Inc.
sparkfun	SparkFun Electronics
sprd	Spreadtrum Communications Inc.
sqn	Sequans Communications
sst	Silicon Storage Technology, Inc.
sstar	Xiamen Xingchen(SigmaStar) Technology Co., Ltd. (formerly part of MStar Semiconductor, Inc.)
st	STMicroelectronics
starry	Starry Electronic Technology (ShenZhen) Co., LTD
startek	Startek
ste	ST-Ericsson
stericsson	ST-Ericsson
st-ericsson	ST-Ericsson
summit	Summit microelectronics
sunchip	Shenzhen Sunchip Technology Co., Ltd
SUNW	Sun Microsystems, Inc
supermicro	Super Micro Computer, Inc.
silvaco	Silvaco, Inc.
swir	Sierra Wireless
syna	Synaptics Inc.
synology	Synology, Inc.
tbs	TBS Technologies
tbs-biometrics	Touchless Biometric Systems AG
tcg	Trusted Computing Group
tcl	Toby Churchill Ltd.
tcs	Shenzhen City Tang Cheng Technology Co., Ltd.
tdo	Shangai Top Display Optoelectronics Co., Ltd
technexion	TechNexion
technologic	Technologic Systems
telink	Telink Semiconductor
telit	Telit Cinterion
tempo	Tempo Semiconductor
techstar	Shenzhen Techstar Electronics Co., Ltd.
terasic	Terasic Inc.
tfc	Three Five Corp
thine	THine Electronics, Inc.
thingyjp	thingy.jp
ti	Texas Instruments
tianma	Tianma Micro-electronics Co., Ltd.
tlm	Trusted Logic Mobility
tmt	Tecon Microprocessor Technologies, LLC.
topeet	Topeet
toppoly	TPO (deprecated, use tpo)
topwise	Topwise Communication Co., Ltd.
toradex	Toradex AG
torex	Torex Semiconductor Ltd.
toshiba	Toshiba Corporation
toumaz	Toumaz
tpk	TPK U.S.A. LLC
tplink	TP-LINK Technologies Co., Ltd.
tpo	TPO
tq	TQ-Systems GmbH
tronfy	Tronfy
tronsmart	Tronsmart
truly	Truly Semiconductors Limited
visionox	Visionox
tsd	Theobroma Systems Design und Consulting GmbH
tyan	Tyan Computer Corporation
u-blox	u-blox
u-boot	U-Boot bootloader
ucrobotics	uCRobotics
ubnt	Ubiquiti Networks
udoo	Udoo
ugoos	Ugoos Industrial Co., Ltd.
ultrachip	UltraChip Inc.
uniwest	United Western Technologies Corp (UniWest)
upisemi	uPI Semiconductor Corp.
urt	United Radiant Technology Corporation
usi	Universal Scientific Industrial Co., Ltd.
utoo	Aigo Digital Technology Co., Ltd.
v3	V3 Semiconductor
vaisala	Vaisala
vamrs	Vamrs Ltd.
variscite	Variscite Ltd.
vdl	Van der Laan b.v.
via	VIA Technologies, Inc.
videostrong	Videostrong Technology Co., Ltd.
virtio	Virtual I/O Device Specification, developed by the OASIS consortium
virtual	Used for virtual device without specific vendor.
vishay	Vishay Intertechnology, Inc
vitesse	Vitesse Semiconductor Corporation
vivante	Vivante Corporation
vnd	A stand-in for a real vendor which can be used in examples and tests
vocore	VoCore Studio
voipac	Voipac Technologies s.r.o.
vot	Vision Optical Technology Co., Ltd.
vxt	VXT Ltd
wand	Wandbord (Technexion)
waveshare	Waveshare Electronics
wd	Western Digital Corp.
we	Würth Elektronik GmbH.
weact	WeAct Studio
wetek	WeTek Electronics, limited.
wexler	Wexler
whwave	Shenzhen whwave Electronics, Inc.
wi2wi	Wi2Wi, Inc.
winbond	Winbond Electronics corp.
winsen	Zhengzhou Winsen Electronics Technology Co., Ltd.
winstar	Winstar Display Corp.
wits	Shenzhen Merrii Technology Co., Ltd. (WITS)
wiznet	WIZnet Co., Ltd.
wlf	Wolfson Microelectronics
wm	Wondermedia Technologies, Inc.
wnc	Wistron NeWeb Corporation
wobo	Wobo
wolfson	Cirrus Logic, Inc. (formerly Wolfson Microelectronics plc)
worldsemi	Worldsemi Co., Limited
x-powers	X-Powers
xen	Xen Hypervisor
xes	Extreme Engineering Solutions (X-ES)
xiaomi	Xiaomi Technology Co., Ltd.
xillybus	Xillybus Ltd.
xingbangda	Shenzhen Xingbangda Display Technology Co., Ltd
xinpeng	Shenzhen Xinpeng Technology Co., Ltd
xiphera	Xiphera Ltd.
xlnx	Xilinx
xnano	Xnano
xptek	Shenzhen Xptek Technology Co., Ltd
xunlong	Shenzhen Xunlong Software CO.,Limited
xylon	Xylon
yamaha	Yamaha Corporation
yes-optoelectronics	Yes Optoelectronics Co.,Ltd.
yic	YIC System Co., Ltd.
ylm	Shenzhen Yangliming Electronic Technology Co., Ltd.
yna	YSH & ATIL
yones-toptech	Yones Toptech Co., Ltd.
ys	Shenzhen Yashi Changhua Intelligent Technology Co., Ltd.
ysoft	Y Soft Corporation a.s.
zealz	Zealz
zarlink	Zarlink Semiconductor
zeitec	ZEITEC Semiconductor Co., LTD.
zephyr	Zephyr-specific binding
zidoo	Shenzhen Zidoo Technology Co., Ltd.
zii	Zodiac Inflight Innovations
zinitix	Zinitix Co., Ltd
zkmagic	Shenzhen Zkmagic Technology Co., Ltd.
zte	ZTE Corp.
zyxel	ZyXEL Communications Corp.
