Device tree binding vendor prefix registry.  Keep 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.

abcn	Abracon Corporation
abilis	Abilis Systems
active-semi	Active-Semi International Inc
ad	Avionic Design GmbH
adapteva	Adapteva, Inc.
adh	AD Holdings Plc.
adi	Analog Devices, Inc.
advantech	Advantech Corporation
aeroflexgaisler	Aeroflex Gaisler AB
al	Annapurna Labs
allwinner	Allwinner Technology Co., Ltd.
alphascale	AlphaScale Integrated Circuits Systems, Inc.
altr	Altera Corp.
amazon	Amazon.com, Inc.
amcc	Applied Micro Circuits Corporation (APM, formally AMCC)
amd	Advanced Micro Devices (AMD), Inc.
amlogic	Amlogic, Inc.
ampire	Ampire Co., Ltd.
ams	AMS AG
amstaos	AMS-Taos Inc.
analogix	Analogix Semiconductor, Inc.
apm	Applied Micro Circuits Corporation (APM)
aptina	Aptina Imaging
arasan	Arasan Chip Systems
arm	ARM Ltd.
armadeus	ARMadeus Systems SARL
arrow	Arrow Electronics
artesyn	Artesyn Embedded Technologies Inc.
asahi-kasei	Asahi Kasei Corp.
aspeed	ASPEED Technology Inc.
atlas	Atlas Scientific LLC
atmel	Atmel Corporation
auo	AU Optronics Corporation
auvidea Auvidea GmbH
avago	Avago Technologies
avic	Shanghai AVIC Optoelectronics Co., Ltd.
axentia	Axentia Technologies AB
axis	Axis Communications AB
boe	BOE Technology Group Co., Ltd.
bosch	Bosch Sensortec GmbH
boundary	Boundary Devices Inc.
brcm	Broadcom Corporation
buffalo	Buffalo, Inc.
calxeda	Calxeda
capella	Capella Microsystems, Inc
cavium	Cavium, Inc.
cdns	Cadence Design Systems Inc.
ceva	Ceva, Inc.
chipidea	Chipidea, Inc
chipone		ChipOne
chipspark	ChipSPARK
chrp	Common Hardware Reference Platform
chunghwa	Chunghwa Picture Tubes Ltd.
ciaa	Computadora Industrial Abierta Argentina
cirrus	Cirrus Logic, Inc.
cloudengines	Cloud Engines, Inc.
cnm	Chips&Media, Inc.
cnxt	Conexant Systems, Inc.
compulab	CompuLab Ltd.
cortina	Cortina Systems, Inc.
cosmic	Cosmic Circuits
creative	Creative Technology Ltd
crystalfontz	Crystalfontz America, Inc.
cubietech	Cubietech, Ltd.
cypress	Cypress Semiconductor Corporation
dallas	Maxim Integrated Products (formerly Dallas Semiconductor)
davicom	DAVICOM Semiconductor, Inc.
delta	Delta Electronics, Inc.
denx	Denx Software Engineering
digi	Digi International Inc.
digilent	Diglent, Inc.
dlg	Dialog Semiconductor
dlink	D-Link Corporation
dmo	Data Modul AG
domintech	Domintech Co., Ltd.
dptechnics	DPTechnics
dragino	Dragino Technology Co., Limited
ea	Embedded Artists AB
ebv	EBV Elektronik
edt	Emerging Display Technologies
eeti	eGalax_eMPIA Technology Inc
elan	Elan Microelectronic Corp.
embest	Shenzhen Embest Technology Co., Ltd.
emmicro	EM Microelectronic
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.
est	ESTeem Wireless Modems
ettus	NI Ettus Research
eukrea  Eukréa Electromatique
everest	Everest Semiconductor Co. Ltd.
everspin	Everspin Technologies, Inc.
excito	Excito
ezchip	EZchip Semiconductor
fcs	Fairchild Semiconductor
firefly	Firefly
focaltech	FocalTech Systems Co.,Ltd
friendlyarm	Guangzhou FriendlyARM Computer Tech Co., Ltd
fsl	Freescale Semiconductor
ge	General Electric Company
geekbuying	GeekBuying
gef	GE Fanuc Intelligent Platforms Embedded Systems, Inc.
GEFanuc	GE Fanuc Intelligent Platforms Embedded Systems, Inc.
geniatech	Geniatech, Inc.
giantplus	Giantplus Technology Co., Ltd.
globalscale	Globalscale Technologies, Inc.
gmt	Global Mixed-mode Technology, Inc.
goodix	Shenzhen Huiding Technology Co., Ltd.
google	Google, Inc.
grinn	Grinn
gumstix	Gumstix, Inc.
gw	Gateworks Corporation
hannstar	HannStar Display Corporation
haoyu	Haoyu Microelectronic Co. Ltd.
hardkernel	Hardkernel Co., Ltd
himax	Himax Technologies, Inc.
hisilicon	Hisilicon Limited.
hit	Hitachi Ltd.
hitex	Hitex Development Tools
holt	Holt Integrated Circuits, Inc.
honeywell	Honeywell
hp	Hewlett Packard
i2se	I2SE GmbH
ibm	International Business Machines (IBM)
idt	Integrated Device Technologies, Inc.
ifi	Ingenieurburo Fur Ic-Technologie (I/F/I)
img	Imagination Technologies Ltd.
infineon Infineon Technologies
inforce	Inforce Computing
ingenic	Ingenic Semiconductor
innolux	Innolux 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.
jdi	Japan Display Inc.
jedec	JEDEC Solid State Technology Association
karo	Ka-Ro electronics GmbH
keithkoep	Keith & Koep GmbH
keymile	Keymile GmbH
kinetic Kinetic Technologies
kosagi	Sutajio Ko-Usagi PTE Ltd.
kyo	Kyocera Corporation
lacie	LaCie
lantiq	Lantiq Semiconductor
lenovo	Lenovo Group Ltd.
lg	LG Corporation
linux	Linux-specific binding
lltc	Linear Technology Corporation
lsi	LSI Corp. (LSI Logic)
marvell	Marvell Technology Group Ltd.
maxim	Maxim Integrated Products
mcube	mCube
meas	Measurement Specialties
mediatek	MediaTek Inc.
melexis	Melexis N.V.
melfas	MELFAS Inc.
memsic	MEMSIC Inc.
merrii	Merrii Technology Co., Ltd.
micrel	Micrel Inc.
microchip	Microchip Technology Inc.
microcrystal	Micro Crystal AG
micron	Micron Technology Inc.
minix	MINIX Technology Ltd.
miramems	MiraMEMS Sensing Technology Co., Ltd.
mitsubishi	Mitsubishi Electric Corporation
mosaixtech	Mosaix Technologies, Inc.
moxa	Moxa
mpl	MPL AG
mqmaker	mqmaker Inc.
msi	Micro-Star International Co. Ltd.
mti	Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
mundoreader	Mundo Reader S.L.
murata	Murata Manufacturing Co., Ltd.
mxicy	Macronix International Co., Ltd.
national	National Semiconductor
nec	NEC LCD Technologies, Ltd.
neonode		Neonode Inc.
netgear	NETGEAR
netlogic	Broadcom Corporation (formerly NetLogic Microsystems)
netxeon		Shenzhen Netxeon Technology CO., LTD
newhaven	Newhaven Display International
nintendo	Nintendo
nokia	Nokia
nuvoton	Nuvoton Technology Corporation
nvidia	NVIDIA
nxp	NXP Semiconductors
okaya	Okaya Electric America, Inc.
olimex	OLIMEX Ltd.
onion	Onion Corporation
onnn	ON Semiconductor Corp.
ontat	On Tat Industrial Company
opencores	OpenCores.org
option	Option NV
ORCL	Oracle Corporation
ortustech	Ortus Technology Co., Ltd.
ovti	OmniVision Technologies
oxsemi	Oxford Semiconductor, Ltd.
panasonic	Panasonic Corporation
parade	Parade Technologies Inc.
pericom	Pericom Technology Inc.
phytec	PHYTEC Messtechnik GmbH
picochip	Picochip Ltd
pixcir  PIXCIR MICROELECTRONICS Co., Ltd
plathome	Plat'Home Co., Ltd.
plda	PLDA
powervr	PowerVR (deprecated, use img)
pulsedlight	PulsedLight, Inc
qca	Qualcomm Atheros, Inc.
qcom	Qualcomm Technologies, Inc
qemu	QEMU, a generic and open source machine emulator and virtualizer
qi	Qi Hardware
qiaodian	QiaoDian XianShi Corporation
qnap	QNAP Systems, Inc.
radxa	Radxa
raidsonic	RaidSonic Technology GmbH
ralink	Mediatek/Ralink Technology Corp.
ramtron	Ramtron International
raspberrypi	Raspberry Pi Foundation
raydium	Raydium Semiconductor Corp.
realtek Realtek Semiconductor Corp.
renesas	Renesas Electronics Corporation
richtek	Richtek Technology Corporation
ricoh	Ricoh Co. Ltd.
rockchip	Fuzhou Rockchip Electronics Co., Ltd
samsung	Samsung Semiconductor
sandisk	Sandisk Corporation
sbs	Smart Battery System
schindler	Schindler
seagate	Seagate Technology PLC
semtech	Semtech Corporation
sgx	SGX Sensortech
sharp	Sharp Corporation
si-en	Si-En Technology Ltd.
sigma	Sigma Designs, Inc.
sii	Seiko Instruments, Inc.
sil	Silicon Image
silabs	Silicon Laboratories
silead	Silead Inc.
silergy	Silergy Corp.
siliconmitus	Silicon Mitus, Inc.
simtek
sirf	SiRF Technology, Inc.
sis	Silicon Integrated Systems Corp.
sitronix	Sitronix Technology Corporation
skyworks	Skyworks Solutions, Inc.
smsc	Standard Microsystems Corporation
snps	Synopsys, Inc.
socionext	Socionext Inc.
solidrun	SolidRun
solomon        Solomon Systech Limited
sony	Sony Corporation
spansion	Spansion Inc.
sprd	Spreadtrum Communications Inc.
st	STMicroelectronics
starry	Starry Electronic Technology (ShenZhen) Co., LTD
startek	Startek
ste	ST-Ericsson
stericsson	ST-Ericsson
summit	Summit microelectronics
sunchip	Shenzhen Sunchip Technology Co., Ltd
SUNW	Sun Microsystems, Inc
swir	Sierra Wireless
syna	Synaptics Inc.
synology	Synology, Inc.
tbs	TBS Technologies
tcg	Trusted Computing Group
tcl	Toby Churchill Ltd.
technexion	TechNexion
technologic	Technologic Systems
thine	THine Electronics, Inc.
ti	Texas Instruments
tlm	Trusted Logic Mobility
topeet  Topeet
toradex	Toradex AG
toshiba	Toshiba Corporation
toumaz	Toumaz
tpk	TPK U.S.A. LLC
tplink	TP-LINK Technologies Co., Ltd.
tpo	TPO
tronfy	Tronfy
tronsmart	Tronsmart
truly	Truly Semiconductors Limited
tyan	Tyan Computer Corporation
uniwest	United Western Technologies Corp (UniWest)
upisemi	uPI Semiconductor Corp.
urt	United Radiant Technology Corporation
usi	Universal Scientific Industrial Co., Ltd.
v3	V3 Semiconductor
variscite	Variscite Ltd.
via	VIA Technologies, Inc.
virtio	Virtual I/O Device Specification, developed by the OASIS consortium
vivante	Vivante Corporation
voipac	Voipac Technologies s.r.o.
wd	Western Digital Corp.
wexler	Wexler
winbond Winbond Electronics corp.
wlf	Wolfson Microelectronics
wm	Wondermedia Technologies, Inc.
x-powers	X-Powers
xes	Extreme Engineering Solutions (X-ES)
xillybus	Xillybus Ltd.
xlnx	Xilinx
zarlink	Zarlink Semiconductor
zii	Zodiac Inflight Innovations
zte	ZTE Corp.
zyxel	ZyXEL Communications Corp.
