Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Device Tree file for Compulab SBC-A510 Single Board Computer
0003  *
0004  * Copyright (C) 2015, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
0005  *
0006  * This file is dual-licensed: you can use it either under the terms
0007  * of the GPL or the X11 license, at your option. Note that this dual
0008  * licensing only applies to this file, and not this project as a
0009  * whole.
0010  *
0011  *  a) This file is free software; you can redistribute it and/or
0012  *     modify it under the terms of the GNU General Public License as
0013  *     published by the Free Software Foundation; version 2 of the
0014  *     License.
0015  *
0016  *     This file is distributed in the hope that it will be useful,
0017  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
0018  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0019  *     GNU General Public License for more details.
0020  *
0021  * Or, alternatively,
0022  *
0023  *  b) Permission is hereby granted, free of charge, to any person
0024  *     obtaining a copy of this software and associated documentation
0025  *     files (the "Software"), to deal in the Software without
0026  *     restriction, including without limitation the rights to use,
0027  *     copy, modify, merge, publish, distribute, sublicense, and/or
0028  *     sell copies of the Software, and to permit persons to whom the
0029  *     Software is furnished to do so, subject to the following
0030  *     conditions:
0031  *
0032  *     The above copyright notice and this permission notice shall be
0033  *     included in all copies or substantial portions of the Software.
0034  *
0035  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0036  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
0037  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
0038  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
0039  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
0040  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
0041  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
0042  *     OTHER DEALINGS IN THE SOFTWARE.
0043  */
0044 
0045 /*
0046  * SBC-A510 comprises a PCA9555 I2C GPIO expander its GPIO lines connected to
0047  *
0048  * 0.0 USB0 VBUS_EN (active high)
0049  * 0.1 USB0 VBUS_GOOD
0050  * 0.2 DVI transmitter TI TFP410 MSEN
0051  * 0.3 DVI transmitter TI TFP410 PD# (active low power down)
0052  * 0.4 LVDS transmitter DS90C365 PD# (active low power down)
0053  * 0.5 LCD nRST (active low reset)
0054  * 0.6 PCIe0 nRST (active low reset)
0055  * 0.7 mini-PCIe slot W_DISABLE#
0056  *
0057  * 1.0 MMC WP
0058  * 1.1 Camera Input FPC FLASH_STB and P21.5
0059  * 1.2 Camera Input FPC WE        and P21.22
0060  * 1.3 MMC VCC_EN (active high)   and P21.7
0061  * 1.4 Camera Input FPC AFTR_RST  and P21.17
0062  * 1.5 Camera Input FPC OE        and P21.19
0063  * 1.6 Camera Input FPC SNPSHT    and P21.6
0064  * 1.7 Camera Input FPC SHTR      and P21.10
0065  */
0066 
0067 /dts-v1/;
0068 
0069 #include "dove-cm-a510.dtsi"
0070 
0071 / {
0072         model = "Compulab SBC-A510";
0073         compatible = "compulab,sbc-a510", "compulab,cm-a510", "marvell,dove";
0074 
0075         chosen {
0076                 stdout-path = &uart0;
0077         };
0078 
0079         regulators {
0080                 usb0_power: regulator@2 {
0081                         compatible = "regulator-fixed";
0082                         regulator-name = "USB Power";
0083                         regulator-min-microvolt = <5000000>;
0084                         regulator-max-microvolt = <5000000>;
0085                         gpio = <&gpio_ext 0 GPIO_ACTIVE_HIGH>;
0086                 };
0087 
0088                 mmc_power: regulator@3 {
0089                         compatible = "regulator-fixed";
0090                         regulator-name = "MMC Power";
0091                         regulator-min-microvolt = <3300000>;
0092                         regulator-max-microvolt = <3300000>;
0093                         gpio = <&gpio_ext 13 GPIO_ACTIVE_HIGH>;
0094                 };
0095         };
0096 };
0097 
0098 /* Ethernet0 depends on CM-A510 option E1 */
0099 &mdio { status = "disabled"; };
0100 &eth { status = "disabled"; };
0101 &ethphy { status = "disabled"; };
0102 
0103 /*
0104  * USB port 0 can be powered and monitored by I2C GPIO expander:
0105  *  VBUS_ENABLE on GPIO0, VBUS_GOOD on GPIO1
0106  */
0107 &ehci0 {
0108         status = "okay";
0109         vbus-supply = <&usb0_power>;
0110 };
0111 
0112 /* USB port 1 (and ports 2, 3 if CM-A510 has U4 option) */
0113 &ehci1 { status = "okay"; };
0114 
0115 /*
0116  * I2C bus layout:
0117  * i2c0:
0118  *  - Audio Codec, 0x1a (option from CM-A510)
0119  *  - DVI transmitter TI TFP410, 0x39
0120  *  - HDMI/DVI DDC channel
0121  * i2c1:
0122  *  - GPIO expander, NXP PCA9555, 0x20
0123  *  - VGA DDC channel
0124  */
0125 &i2c {
0126         pinctrl-0 = <&pmx_i2c1>;
0127         pinctrl-names = "default";
0128 };
0129 
0130 &i2c0 {
0131         /* TI TFP410 DVI transmitter */
0132         dvi: video@39 {
0133                 compatible = "ti,tfp410";
0134                 reg = <0x39>;
0135                 powerdown-gpio = <&gpio_ext 3 GPIO_ACTIVE_LOW>;
0136         };
0137 };
0138 
0139 &i2c1 {
0140         status = "okay";
0141 
0142         /* NXP PCA9555 GPIO expander */
0143         gpio_ext: gpio@20 {
0144                 compatible = "nxp,pca9555";
0145                 reg = <0x20>;
0146                 gpio-controller;
0147                 #gpio-cells = <2>;
0148         };
0149 };
0150 
0151 &pcie { status = "okay"; };
0152 
0153 /*
0154  * PCIe0 can be configured by Jumper E1 to be either connected to
0155  * a mini-PCIe slot or a Pericom PI7C9X111 PCIe-to-PCI bridge.
0156  */
0157 &pcie0 {
0158         status = "okay";
0159         pinctrl-0 = <&pmx_pcie0_clkreq>;
0160         pinctrl-names = "default";
0161         reset-gpios = <&gpio_ext 6 GPIO_ACTIVE_LOW>;
0162 };
0163 
0164 /* Ethernet1 depends on CM-A510 option E2 */
0165 &pcie1 { status = "disabled"; };
0166 
0167 /* SATA connector */
0168 &sata0 { status = "okay"; };
0169 
0170 /*
0171  * SDIO0 is connected to a MMC/SD/SDIO socket, I2C GPIO expander has
0172  *  VCC_MMC_ENABLE on GPIO13, MMC_WP on GPIO10
0173  */
0174 &sdio0 {
0175         vmmc-supply = <&mmc_power>;
0176         wp-gpios = <&gpio_ext 10 GPIO_ACTIVE_LOW>;
0177         status = "okay";
0178 };
0179 
0180 /* UART0 on RS232 mini-connector */
0181 &uart0 { status = "okay"; };
0182 /* UART2 on pin headers */
0183 &uart2 { status = "okay"; };