1295011Sandrew/* 2295011Sandrew * Device Tree file for Compulab SBC-A510 Single Board Computer 3295011Sandrew * 4295011Sandrew * Copyright (C) 2015, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> 5295011Sandrew * 6295011Sandrew * This file is dual-licensed: you can use it either under the terms 7295011Sandrew * of the GPL or the X11 license, at your option. Note that this dual 8295011Sandrew * licensing only applies to this file, and not this project as a 9295011Sandrew * whole. 10295011Sandrew * 11295011Sandrew * a) This file is free software; you can redistribute it and/or 12295011Sandrew * modify it under the terms of the GNU General Public License as 13295011Sandrew * published by the Free Software Foundation; version 2 of the 14295011Sandrew * License. 15295011Sandrew * 16295011Sandrew * This file is distributed in the hope that it will be useful 17295011Sandrew * but WITHOUT ANY WARRANTY; without even the implied warranty of 18295011Sandrew * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19295011Sandrew * GNU General Public License for more details. 20295011Sandrew * 21295011Sandrew * Or, alternatively 22295011Sandrew * 23295011Sandrew * b) Permission is hereby granted, free of charge, to any person 24295011Sandrew * obtaining a copy of this software and associated documentation 25295011Sandrew * files (the "Software"), to deal in the Software without 26295011Sandrew * restriction, including without limitation the rights to use 27295011Sandrew * copy, modify, merge, publish, distribute, sublicense, and/or 28295011Sandrew * sell copies of the Software, and to permit persons to whom the 29295011Sandrew * Software is furnished to do so, subject to the following 30295011Sandrew * conditions: 31295011Sandrew * 32295011Sandrew * The above copyright notice and this permission notice shall be 33295011Sandrew * included in all copies or substantial portions of the Software. 34295011Sandrew * 35295011Sandrew * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND 36295011Sandrew * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37295011Sandrew * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38295011Sandrew * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39295011Sandrew * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY 40295011Sandrew * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41295011Sandrew * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42295011Sandrew * OTHER DEALINGS IN THE SOFTWARE. 43295011Sandrew */ 44295011Sandrew 45295011Sandrew/* 46295011Sandrew * SBC-A510 comprises a PCA9555 I2C GPIO expander its GPIO lines connected to 47295011Sandrew * 48295011Sandrew * 0.0 USB0 VBUS_EN (active high) 49295011Sandrew * 0.1 USB0 VBUS_GOOD 50295011Sandrew * 0.2 DVI transmitter TI TFP410 MSEN 51295011Sandrew * 0.3 DVI transmitter TI TFP410 PD# (active low power down) 52295011Sandrew * 0.4 LVDS transmitter DS90C365 PD# (active low power down) 53295011Sandrew * 0.5 LCD nRST (active low reset) 54295011Sandrew * 0.6 PCIe0 nRST (active low reset) 55295011Sandrew * 0.7 mini-PCIe slot W_DISABLE# 56295011Sandrew * 57295011Sandrew * 1.0 MMC WP 58295011Sandrew * 1.1 Camera Input FPC FLASH_STB and P21.5 59295011Sandrew * 1.2 Camera Input FPC WE and P21.22 60295011Sandrew * 1.3 MMC VCC_EN (active high) and P21.7 61295011Sandrew * 1.4 Camera Input FPC AFTR_RST and P21.17 62295011Sandrew * 1.5 Camera Input FPC OE and P21.19 63295011Sandrew * 1.6 Camera Input FPC SNPSHT and P21.6 64295011Sandrew * 1.7 Camera Input FPC SHTR and P21.10 65295011Sandrew */ 66295011Sandrew 67295011Sandrew/dts-v1/; 68295011Sandrew 69295011Sandrew#include "dove-cm-a510.dtsi" 70295011Sandrew 71295011Sandrew/ { 72295011Sandrew model = "Compulab SBC-A510"; 73295011Sandrew compatible = "compulab,sbc-a510", "compulab,cm-a510", "marvell,dove"; 74295011Sandrew 75295011Sandrew chosen { 76295011Sandrew stdout-path = &uart0; 77295011Sandrew }; 78295011Sandrew 79295011Sandrew regulators { 80295011Sandrew usb0_power: regulator@2 { 81295011Sandrew compatible = "regulator-fixed"; 82295011Sandrew regulator-name = "USB Power"; 83295011Sandrew regulator-min-microvolt = <5000000>; 84295011Sandrew regulator-max-microvolt = <5000000>; 85295011Sandrew gpio = <&gpio_ext 0 GPIO_ACTIVE_HIGH>; 86295011Sandrew }; 87295011Sandrew 88295011Sandrew mmc_power: regulator@3 { 89295011Sandrew compatible = "regulator-fixed"; 90295011Sandrew regulator-name = "MMC Power"; 91295011Sandrew regulator-min-microvolt = <3300000>; 92295011Sandrew regulator-max-microvolt = <3300000>; 93295011Sandrew gpio = <&gpio_ext 13 GPIO_ACTIVE_HIGH>; 94295011Sandrew }; 95295011Sandrew }; 96295011Sandrew}; 97295011Sandrew 98295011Sandrew/* Ethernet0 depends on CM-A510 option E1 */ 99295011Sandrew&mdio { status = "disabled"; }; 100295011Sandrewð { status = "disabled"; }; 101295011Sandrewðphy { status = "disabled"; }; 102295011Sandrew 103295011Sandrew/* 104295011Sandrew * USB port 0 can be powered and monitored by I2C GPIO expander: 105295011Sandrew * VBUS_ENABLE on GPIO0, VBUS_GOOD on GPIO1 106295011Sandrew */ 107295011Sandrew&ehci0 { 108295011Sandrew status = "okay"; 109295011Sandrew vbus-supply = <&usb0_power>; 110295011Sandrew}; 111295011Sandrew 112295011Sandrew/* USB port 1 (and ports 2, 3 if CM-A510 has U4 option) */ 113295011Sandrew&ehci1 { status = "okay"; }; 114295011Sandrew 115295011Sandrew/* 116295011Sandrew * I2C bus layout: 117295011Sandrew * i2c0: 118295011Sandrew * - Audio Codec, 0x1a (option from CM-A510) 119295011Sandrew * - DVI transmitter TI TFP410, 0x39 120295011Sandrew * - HDMI/DVI DDC channel 121295011Sandrew * i2c1: 122295011Sandrew * - GPIO expander, NXP PCA9555, 0x20 123295011Sandrew * - VGA DDC channel 124295011Sandrew */ 125295011Sandrew&i2c { 126295011Sandrew pinctrl-0 = <&pmx_i2c1>; 127295011Sandrew pinctrl-names = "default"; 128295011Sandrew}; 129295011Sandrew 130295011Sandrew&i2c0 { 131295011Sandrew /* TI TFP410 DVI transmitter */ 132295011Sandrew dvi: video@39 { 133295011Sandrew compatible = "ti,tfp410"; 134295011Sandrew reg = <0x39>; 135295011Sandrew powerdown-gpio = <&gpio_ext 3 GPIO_ACTIVE_LOW>; 136295011Sandrew }; 137295011Sandrew}; 138295011Sandrew 139295011Sandrew&i2c1 { 140295011Sandrew status = "okay"; 141295011Sandrew 142295011Sandrew /* NXP PCA9555 GPIO expander */ 143295011Sandrew gpio_ext: gpio@20 { 144295011Sandrew compatible = "nxp,pca9555"; 145295011Sandrew reg = <0x20>; 146295011Sandrew #gpio-cells = <2>; 147295011Sandrew }; 148295011Sandrew}; 149295011Sandrew 150295011Sandrew&pcie { status = "okay"; }; 151295011Sandrew 152295011Sandrew/* 153295011Sandrew * PCIe0 can be configured by Jumper E1 to be either connected to 154295011Sandrew * a mini-PCIe slot or a Pericom PI7C9X111 PCIe-to-PCI bridge. 155295011Sandrew */ 156295011Sandrew&pcie0 { 157295011Sandrew status = "okay"; 158295011Sandrew pinctrl-0 = <&pmx_pcie0_clkreq>; 159295011Sandrew pinctrl-names = "default"; 160295011Sandrew reset-gpios = <&gpio_ext 6 GPIO_ACTIVE_LOW>; 161295011Sandrew}; 162295011Sandrew 163295011Sandrew/* Ethernet1 depends on CM-A510 option E2 */ 164295011Sandrew&pcie1 { status = "disabled"; }; 165295011Sandrew 166295011Sandrew/* SATA connector */ 167295011Sandrew&sata0 { status = "okay"; }; 168295011Sandrew 169295011Sandrew/* 170295011Sandrew * SDIO0 is connected to a MMC/SD/SDIO socket, I2C GPIO expander has 171295011Sandrew * VCC_MMC_ENABLE on GPIO13, MMC_WP on GPIO10 172295011Sandrew */ 173295011Sandrew&sdio0 { 174295011Sandrew vmmc-supply = <&mmc_power>; 175295011Sandrew wp-gpios = <&gpio_ext 10 GPIO_ACTIVE_LOW>; 176295011Sandrew status = "okay"; 177295011Sandrew}; 178295011Sandrew 179295011Sandrew/* UART0 on RS232 mini-connector */ 180295011Sandrew&uart0 { status = "okay"; }; 181295011Sandrew/* UART2 on pin headers */ 182295011Sandrew&uart2 { status = "okay"; }; 183