xref: /linux/scripts/dtc/include-prefixes/arm/marvell/dove-sbc-a510.dts (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
1724ba675SRob Herring/*
2724ba675SRob Herring * Device Tree file for Compulab SBC-A510 Single Board Computer
3724ba675SRob Herring *
4724ba675SRob Herring * Copyright (C) 2015, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
5724ba675SRob Herring *
6724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms
7724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual
8724ba675SRob Herring * licensing only applies to this file, and not this project as a
9724ba675SRob Herring * whole.
10724ba675SRob Herring *
11724ba675SRob Herring *  a) This file is free software; you can redistribute it and/or
12724ba675SRob Herring *     modify it under the terms of the GNU General Public License as
13724ba675SRob Herring *     published by the Free Software Foundation; version 2 of the
14724ba675SRob Herring *     License.
15724ba675SRob Herring *
16724ba675SRob Herring *     This file is distributed in the hope that it will be useful,
17724ba675SRob Herring *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18724ba675SRob Herring *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19724ba675SRob Herring *     GNU General Public License for more details.
20724ba675SRob Herring *
21724ba675SRob Herring * Or, alternatively,
22724ba675SRob Herring *
23724ba675SRob Herring *  b) Permission is hereby granted, free of charge, to any person
24724ba675SRob Herring *     obtaining a copy of this software and associated documentation
25724ba675SRob Herring *     files (the "Software"), to deal in the Software without
26724ba675SRob Herring *     restriction, including without limitation the rights to use,
27724ba675SRob Herring *     copy, modify, merge, publish, distribute, sublicense, and/or
28724ba675SRob Herring *     sell copies of the Software, and to permit persons to whom the
29724ba675SRob Herring *     Software is furnished to do so, subject to the following
30724ba675SRob Herring *     conditions:
31724ba675SRob Herring *
32724ba675SRob Herring *     The above copyright notice and this permission notice shall be
33724ba675SRob Herring *     included in all copies or substantial portions of the Software.
34724ba675SRob Herring *
35724ba675SRob Herring *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36724ba675SRob Herring *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37724ba675SRob Herring *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38724ba675SRob Herring *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39724ba675SRob Herring *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40724ba675SRob Herring *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41724ba675SRob Herring *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42724ba675SRob Herring *     OTHER DEALINGS IN THE SOFTWARE.
43724ba675SRob Herring */
44724ba675SRob Herring
45724ba675SRob Herring/*
46724ba675SRob Herring * SBC-A510 comprises a PCA9555 I2C GPIO expander its GPIO lines connected to
47724ba675SRob Herring *
48724ba675SRob Herring * 0.0 USB0 VBUS_EN (active high)
49724ba675SRob Herring * 0.1 USB0 VBUS_GOOD
50724ba675SRob Herring * 0.2 DVI transmitter TI TFP410 MSEN
51724ba675SRob Herring * 0.3 DVI transmitter TI TFP410 PD# (active low power down)
52724ba675SRob Herring * 0.4 LVDS transmitter DS90C365 PD# (active low power down)
53724ba675SRob Herring * 0.5 LCD nRST (active low reset)
54724ba675SRob Herring * 0.6 PCIe0 nRST (active low reset)
55724ba675SRob Herring * 0.7 mini-PCIe slot W_DISABLE#
56724ba675SRob Herring *
57724ba675SRob Herring * 1.0 MMC WP
58724ba675SRob Herring * 1.1 Camera Input FPC FLASH_STB and P21.5
59724ba675SRob Herring * 1.2 Camera Input FPC WE        and P21.22
60724ba675SRob Herring * 1.3 MMC VCC_EN (active high)   and P21.7
61724ba675SRob Herring * 1.4 Camera Input FPC AFTR_RST  and P21.17
62724ba675SRob Herring * 1.5 Camera Input FPC OE        and P21.19
63724ba675SRob Herring * 1.6 Camera Input FPC SNPSHT    and P21.6
64724ba675SRob Herring * 1.7 Camera Input FPC SHTR      and P21.10
65724ba675SRob Herring */
66724ba675SRob Herring
67724ba675SRob Herring/dts-v1/;
68724ba675SRob Herring
69724ba675SRob Herring#include "dove-cm-a510.dtsi"
70724ba675SRob Herring
71724ba675SRob Herring/ {
72724ba675SRob Herring	model = "Compulab SBC-A510";
73724ba675SRob Herring	compatible = "compulab,sbc-a510", "compulab,cm-a510", "marvell,dove";
74724ba675SRob Herring
75724ba675SRob Herring	chosen {
76724ba675SRob Herring		stdout-path = &uart0;
77724ba675SRob Herring	};
78724ba675SRob Herring
79*afc19882SKrzysztof Kozlowski	usb0_power: regulator-2 {
80724ba675SRob Herring		compatible = "regulator-fixed";
81724ba675SRob Herring		regulator-name = "USB Power";
82724ba675SRob Herring		regulator-min-microvolt = <5000000>;
83724ba675SRob Herring		regulator-max-microvolt = <5000000>;
84724ba675SRob Herring		gpio = <&gpio_ext 0 GPIO_ACTIVE_HIGH>;
85724ba675SRob Herring	};
86724ba675SRob Herring
87*afc19882SKrzysztof Kozlowski	mmc_power: regulator-3 {
88724ba675SRob Herring		compatible = "regulator-fixed";
89724ba675SRob Herring		regulator-name = "MMC Power";
90724ba675SRob Herring		regulator-min-microvolt = <3300000>;
91724ba675SRob Herring		regulator-max-microvolt = <3300000>;
92724ba675SRob Herring		gpio = <&gpio_ext 13 GPIO_ACTIVE_HIGH>;
93724ba675SRob Herring	};
94724ba675SRob Herring};
95724ba675SRob Herring
96724ba675SRob Herring/* Ethernet0 depends on CM-A510 option E1 */
97724ba675SRob Herring&mdio { status = "disabled"; };
98724ba675SRob Herring&eth { status = "disabled"; };
99724ba675SRob Herring&ethphy { status = "disabled"; };
100724ba675SRob Herring
101724ba675SRob Herring/*
102724ba675SRob Herring * USB port 0 can be powered and monitored by I2C GPIO expander:
103724ba675SRob Herring *  VBUS_ENABLE on GPIO0, VBUS_GOOD on GPIO1
104724ba675SRob Herring */
105724ba675SRob Herring&ehci0 {
106724ba675SRob Herring	status = "okay";
107724ba675SRob Herring	vbus-supply = <&usb0_power>;
108724ba675SRob Herring};
109724ba675SRob Herring
110724ba675SRob Herring/* USB port 1 (and ports 2, 3 if CM-A510 has U4 option) */
111724ba675SRob Herring&ehci1 { status = "okay"; };
112724ba675SRob Herring
113724ba675SRob Herring/*
114724ba675SRob Herring * I2C bus layout:
115724ba675SRob Herring * i2c0:
116724ba675SRob Herring *  - Audio Codec, 0x1a (option from CM-A510)
117724ba675SRob Herring *  - DVI transmitter TI TFP410, 0x39
118724ba675SRob Herring *  - HDMI/DVI DDC channel
119724ba675SRob Herring * i2c1:
120724ba675SRob Herring *  - GPIO expander, NXP PCA9555, 0x20
121724ba675SRob Herring *  - VGA DDC channel
122724ba675SRob Herring */
123724ba675SRob Herring&i2c {
124724ba675SRob Herring	pinctrl-0 = <&pmx_i2c1>;
125724ba675SRob Herring	pinctrl-names = "default";
126724ba675SRob Herring};
127724ba675SRob Herring
128724ba675SRob Herring&i2c0 {
129724ba675SRob Herring	/* TI TFP410 DVI transmitter */
130724ba675SRob Herring	dvi: video@39 {
131724ba675SRob Herring		compatible = "ti,tfp410";
132724ba675SRob Herring		reg = <0x39>;
133724ba675SRob Herring		powerdown-gpio = <&gpio_ext 3 GPIO_ACTIVE_LOW>;
134724ba675SRob Herring	};
135724ba675SRob Herring};
136724ba675SRob Herring
137724ba675SRob Herring&i2c1 {
138724ba675SRob Herring	status = "okay";
139724ba675SRob Herring
140724ba675SRob Herring	/* NXP PCA9555 GPIO expander */
141724ba675SRob Herring	gpio_ext: gpio@20 {
142724ba675SRob Herring		compatible = "nxp,pca9555";
143724ba675SRob Herring		reg = <0x20>;
144724ba675SRob Herring		gpio-controller;
145724ba675SRob Herring		#gpio-cells = <2>;
146724ba675SRob Herring	};
147724ba675SRob Herring};
148724ba675SRob Herring
149724ba675SRob Herring&pcie { status = "okay"; };
150724ba675SRob Herring
151724ba675SRob Herring/*
152724ba675SRob Herring * PCIe0 can be configured by Jumper E1 to be either connected to
153724ba675SRob Herring * a mini-PCIe slot or a Pericom PI7C9X111 PCIe-to-PCI bridge.
154724ba675SRob Herring */
155724ba675SRob Herring&pcie0 {
156724ba675SRob Herring	status = "okay";
157724ba675SRob Herring	pinctrl-0 = <&pmx_pcie0_clkreq>;
158724ba675SRob Herring	pinctrl-names = "default";
159724ba675SRob Herring	reset-gpios = <&gpio_ext 6 GPIO_ACTIVE_LOW>;
160724ba675SRob Herring};
161724ba675SRob Herring
162724ba675SRob Herring/* Ethernet1 depends on CM-A510 option E2 */
163724ba675SRob Herring&pcie1 { status = "disabled"; };
164724ba675SRob Herring
165724ba675SRob Herring/* SATA connector */
166724ba675SRob Herring&sata0 { status = "okay"; };
167724ba675SRob Herring
168724ba675SRob Herring/*
169724ba675SRob Herring * SDIO0 is connected to a MMC/SD/SDIO socket, I2C GPIO expander has
170724ba675SRob Herring *  VCC_MMC_ENABLE on GPIO13, MMC_WP on GPIO10
171724ba675SRob Herring */
172724ba675SRob Herring&sdio0 {
173724ba675SRob Herring	vmmc-supply = <&mmc_power>;
174724ba675SRob Herring	wp-gpios = <&gpio_ext 10 GPIO_ACTIVE_LOW>;
175724ba675SRob Herring	status = "okay";
176724ba675SRob Herring};
177724ba675SRob Herring
178724ba675SRob Herring/* UART0 on RS232 mini-connector */
179724ba675SRob Herring&uart0 { status = "okay"; };
180724ba675SRob Herring/* UART2 on pin headers */
181724ba675SRob Herring&uart2 { status = "okay"; };
182