Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: at91/dt: Add Support for the L+G VInCo platform

The Versatile Industrial Communication platform is a community oriented
board from Landis + Gyr. It comes with:
- an RS-485 port
- 2 Ethernet ports
- a wireless M-BUS
- a 4G modem
- a 4MB SPI flash
- a 4GB eMMC

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>

authored by

Gregory CLEMENT and committed by
Alexandre Belloni
3869394a 0a804b57

+258 -1
+2 -1
arch/arm/boot/dts/Makefile
··· 50 50 sama5d36ek.dtb \ 51 51 at91-sama5d4_ma5d4evk.dtb \ 52 52 at91-sama5d4_xplained.dtb \ 53 - at91-sama5d4ek.dtb 53 + at91-sama5d4ek.dtb \ 54 + at91-vinco.dtb 54 55 dtb-$(CONFIG_ARCH_ATLAS6) += \ 55 56 atlas6-evb.dtb 56 57 dtb-$(CONFIG_ARCH_ATLAS7) += \
+256
arch/arm/boot/dts/at91-vinco.dts
··· 1 + /* 2 + * Device Tree file for VInCo platform 3 + * 4 + * Copyright (C) 2014 Atmel, 5 + * 2014 Nicolas Ferre <nicolas.ferre@atmel.com> 6 + * 2015 Gregory CLEMENT <gregory.clement@free-electrons.com> 7 + * 8 + * This file is dual-licensed: you can use it either under the terms 9 + * of the GPL or the X11 license, at your option. Note that this dual 10 + * licensing only applies to this file, and not this project as a 11 + * whole. 12 + * 13 + * a) This file is free software; you can redistribute it and/or 14 + * modify it under the terms of the GNU General Public License as 15 + * published by the Free Software Foundation; either version 2 of the 16 + * License, or (at your option) any later version. 17 + * 18 + * This file is distributed in the hope that it will be useful, 19 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 + * GNU General Public License for more details. 22 + * 23 + * Or, alternatively, 24 + * 25 + * b) Permission is hereby granted, free of charge, to any person 26 + * obtaining a copy of this software and associated documentation 27 + * files (the "Software"), to deal in the Software without 28 + * restriction, including without limitation the rights to use, 29 + * copy, modify, merge, publish, distribute, sublicense, and/or 30 + * sell copies of the Software, and to permit persons to whom the 31 + * Software is furnished to do so, subject to the following 32 + * conditions: 33 + * 34 + * The above copyright notice and this permission notice shall be 35 + * included in all copies or substantial portions of the Software. 36 + * 37 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 38 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 39 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 40 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 41 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 42 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 43 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 44 + * OTHER DEALINGS IN THE SOFTWARE. 45 + */ 46 + /dts-v1/; 47 + #include "sama5d4.dtsi" 48 + 49 + / { 50 + model = "L+G VInCo platform"; 51 + compatible = "l+g,vinco", "atmel,sama5d4", "atmel,sama5"; 52 + 53 + chosen { 54 + stdout-path = "serial0:115200n8"; 55 + }; 56 + 57 + memory { 58 + reg = <0x20000000 0x4000000>; 59 + }; 60 + 61 + clocks { 62 + slow_xtal { 63 + clock-frequency = <32768>; 64 + }; 65 + 66 + main_xtal { 67 + clock-frequency = <12000000>; 68 + }; 69 + }; 70 + 71 + ahb { 72 + apb { 73 + 74 + adc0: adc@fc034000 { 75 + status = "okay"; /* Enable ADC IIO support */ 76 + }; 77 + 78 + mmc0: mmc@f8000000 { 79 + pinctrl-names = "default"; 80 + pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 81 + &pinctrl_mmc0_dat1_3 82 + &pinctrl_mmc0_dat4_7>; 83 + vqmmc-supply = <&vcc_3v3_reg>; 84 + vmmc-supply = <&vcc_3v3_reg>; 85 + no-1-8-v; 86 + status = "okay"; 87 + slot@0 { 88 + reg = <0>; 89 + bus-width = <8>; 90 + non-removable; 91 + broken-cd; 92 + status = "okay"; 93 + }; 94 + }; 95 + 96 + spi0: spi@f8010000 { 97 + cs-gpios = <&pioC 3 0>, <0>, <0>, <0>; 98 + status = "okay"; 99 + m25p80@0 { 100 + compatible = "n25q32b", "jedec,spi-nor"; 101 + spi-max-frequency = <50000000>; 102 + reg = <0>; 103 + }; 104 + }; 105 + 106 + i2c0: i2c@f8014000 { 107 + status = "okay"; 108 + }; 109 + 110 + i2c1: i2c@f8018000 { 111 + status = "okay"; 112 + /* kerkey security module */ 113 + }; 114 + 115 + macb0: ethernet@f8020000 { 116 + phy-mode = "rmii"; 117 + status = "okay"; 118 + 119 + ethernet-phy@1 { 120 + reg = <0x1>; 121 + reset-gpios = <&pioE 8 GPIO_ACTIVE_HIGH>; 122 + interrupt-parent = <&pioB>; 123 + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; 124 + }; 125 + 126 + }; 127 + 128 + i2c2: i2c@f8024000 { 129 + status = "okay"; 130 + 131 + rtc1: rtc@64 { 132 + compatible = "epson,rx8900"; 133 + reg = <0x32>; 134 + }; 135 + }; 136 + 137 + usart2: serial@fc008000 { 138 + /* MBUS */ 139 + status = "okay"; 140 + }; 141 + 142 + usart3: serial@fc00c000 { 143 + /* debug */ 144 + status = "okay"; 145 + }; 146 + 147 + usart4: serial@fc010000 { 148 + /* LMN */ 149 + pinctrl-0 = <&pinctrl_usart4 &pinctrl_usart4_rts>; 150 + linux,rs485-enabled-at-boot-time; 151 + status = "okay"; 152 + }; 153 + 154 + macb1: ethernet@fc028000 { 155 + phy-mode = "rmii"; 156 + status = "okay"; 157 + #address-cells = <1>; 158 + #size-cells = <0>; 159 + status = "okay"; 160 + 161 + ethernet-phy@1 { 162 + reg = <0x1>; 163 + interrupt-parent = <&pioB>; 164 + interrupts = <31 IRQ_TYPE_EDGE_FALLING>; 165 + reset-gpios = <&pioE 6 GPIO_ACTIVE_HIGH>; 166 + }; 167 + }; 168 + 169 + watchdog@fc068640 { 170 + status = "okay"; 171 + }; 172 + 173 + pinctrl@fc06a000 { 174 + board { 175 + pinctrl_usba_vbus: usba_vbus { 176 + atmel,pins = 177 + <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; 178 + }; 179 + }; 180 + }; 181 + }; 182 + 183 + usb0: gadget@00400000 { 184 + atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>; 185 + pinctrl-names = "default"; 186 + pinctrl-0 = <&pinctrl_usba_vbus>; 187 + status = "disable"; 188 + }; 189 + 190 + usb1: ohci@00500000 { 191 + num-ports = <3>; 192 + atmel,vbus-gpio = <0 193 + &pioE 11 GPIO_ACTIVE_LOW 194 + &pioE 12 GPIO_ACTIVE_LOW 195 + >; 196 + status = "disable"; 197 + }; 198 + 199 + usb2: ehci@00600000 { 200 + /* 4G Modem */ 201 + status = "okay"; 202 + }; 203 + 204 + }; 205 + 206 + leds { 207 + compatible = "gpio-leds"; 208 + status = "okay"; 209 + 210 + led_err { 211 + label = "err"; 212 + gpios = <&pioA 7 GPIO_ACTIVE_LOW>; 213 + default-state = "off"; 214 + }; 215 + 216 + led_rssi { 217 + label = "rssi"; 218 + gpios = <&pioA 9 GPIO_ACTIVE_LOW>; 219 + default-state = "off"; 220 + }; 221 + 222 + led_tls { 223 + label = "tls"; 224 + gpios = <&pioA 24 GPIO_ACTIVE_LOW>; 225 + default-state = "off"; 226 + }; 227 + 228 + led_lmc { 229 + label = "lmc"; 230 + gpios = <&pioA 25 GPIO_ACTIVE_LOW>; 231 + default-state = "off"; 232 + }; 233 + 234 + led_wmt { 235 + label = "wmt"; 236 + gpios = <&pioA 29 GPIO_ACTIVE_LOW>; 237 + default-state = "off"; 238 + }; 239 + 240 + led_pwr { 241 + label = "pwr"; 242 + gpios = <&pioA 26 GPIO_ACTIVE_LOW>; 243 + default-state = "on"; 244 + }; 245 + 246 + }; 247 + 248 + vcc_3v3_reg: fixedregulator@0 { 249 + compatible = "regulator-fixed"; 250 + regulator-name = "VCC 3V3"; 251 + regulator-min-microvolt = <3300000>; 252 + regulator-max-microvolt = <3300000>; 253 + regulator-boot-on; 254 + regulator-always-on; 255 + }; 256 + };