# 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>

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.
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.
dh	DH electronics GmbH
difrnce	Shenzhen Yagu Electronic Technology Co., Ltd.
digi	Digi International Inc.
digilent	Diglent, Inc.
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
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
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
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
gumstix	Gumstix, Inc.
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
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.
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.
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
lsi	LSI Corp. (LSI Logic)
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.
micrel	Micrel Inc.
microbit	Micro:bit Educational Foundation
microchip	Microchip Technology Inc.
microcrystal	Micro Crystal AG
micron	Micron Technology Inc.
microsemi	Microchip Technology Inc. (formerly Microsemi Corporation)
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.
mscc	Microsemi Corporation
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
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
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
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
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.
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
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
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
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.
