cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

dove-cm-a510.dtsi (5092B)


      1/*
      2 * Device Tree include for Compulab CM-A510 System-on-Module
      3 *
      4 * Copyright (C) 2015, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      5 *
      6 * This file is dual-licensed: you can use it either under the terms
      7 * of the GPL or the X11 license, at your option. Note that this dual
      8 * licensing only applies to this file, and not this project as a
      9 * whole.
     10 *
     11 *  a) This file is free software; you can redistribute it and/or
     12 *     modify it under the terms of the GNU General Public License as
     13 *     published by the Free Software Foundation; version 2 of the
     14 *     License.
     15 *
     16 *     This file is distributed in the hope that it will be useful,
     17 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
     18 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     19 *     GNU General Public License for more details.
     20 *
     21 * Or, alternatively,
     22 *
     23 *  b) Permission is hereby granted, free of charge, to any person
     24 *     obtaining a copy of this software and associated documentation
     25 *     files (the "Software"), to deal in the Software without
     26 *     restriction, including without limitation the rights to use,
     27 *     copy, modify, merge, publish, distribute, sublicense, and/or
     28 *     sell copies of the Software, and to permit persons to whom the
     29 *     Software is furnished to do so, subject to the following
     30 *     conditions:
     31 *
     32 *     The above copyright notice and this permission notice shall be
     33 *     included in all copies or substantial portions of the Software.
     34 *
     35 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     36 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
     37 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     38 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
     39 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     40 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     41 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     42 *     OTHER DEALINGS IN THE SOFTWARE.
     43 */
     44
     45/*
     46 * The CM-A510 comes with several optional components:
     47 *
     48 * Memory options:
     49 *  D512: 512M
     50 *  D1024: 1G
     51 *
     52 * NAND options:
     53 *  N512: 512M NAND
     54 *
     55 * Ethernet options:
     56 *  E1: PHY RTL8211D on internal GbE (SMI address 0x03)
     57 *  E2: Additional ethernet NIC RTL8111D on PCIe1
     58 *
     59 * Audio options:
     60 *  A: TI TLV320AIC23b audio codec (I2C address 0x1a)
     61 *
     62 * Touchscreen options:
     63 *  I: TI TSC2046 touchscreen controller (on SPI1)
     64 *
     65 * USB options:
     66 *  U2: 2 dual-role USB2.0 ports
     67 *  U4: 2 additional USB2.0 host ports (via USB1)
     68 *
     69 * WiFi options:
     70 *  W: Broadcom BCM4319 802.11b/g/n (USI WM-N-BM-01 on SDIO1)
     71 *
     72 * GPIOs used on CM-A510:
     73 *   1 GbE PHY reset (active low)
     74 *   3 WakeUp
     75 *   8 PowerOff (active low)
     76 *  13 Touchscreen pen irq (active low)
     77 *  65 System LED (active high)
     78 *  69 USB Hub reset (active low)
     79 *  70 WLAN reset (active low)
     80 *  71 WLAN regulator (active high)
     81 */
     82
     83#include "dove.dtsi"
     84
     85/ {
     86	model = "Compulab CM-A510";
     87	compatible = "compulab,cm-a510", "marvell,dove";
     88
     89	/*
     90	 * Set the minimum memory size here and let the
     91	 * bootloader set the real size.
     92	 */
     93	memory {
     94		device_type = "memory";
     95		reg = <0x00000000 0x20000000>;
     96	};
     97
     98	leds {
     99		compatible = "gpio-leds";
    100		/* Set upper NAND data bit to GPO */
    101		pinctrl-0 = <&pmx_nand_gpo>;
    102		pinctrl-names = "default";
    103
    104		system {
    105			label = "cm-a510:system:green";
    106			gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
    107			default-state = "keep";
    108		};
    109	};
    110
    111	regulators {
    112		compatible = "simple-bus";
    113		#address-cells = <1>;
    114		#size-cells = <0>;
    115
    116		wifi_power: regulator@1 {
    117			compatible = "regulator-fixed";
    118			regulator-name = "WiFi Power";
    119			regulator-min-microvolt = <3300000>;
    120			regulator-max-microvolt = <3300000>;
    121			gpio = <&gpio2 7 GPIO_ACTIVE_HIGH>;
    122		};
    123	};
    124};
    125
    126/* Optional RTL8211D GbE PHY on SMI address 0x03 */
    127&ethphy {
    128	reg = <3>;
    129	status = "disabled";
    130};
    131
    132&i2c0 {
    133	/* Optional TI TLV320AIC23b audio codec */
    134	opt_audio: audio@1a {
    135		compatible = "ti,tlv320aic23";
    136		reg = <0x1a>;
    137		status = "disabled";
    138	};
    139};
    140
    141/* Optional RTL8111D GbE NIC on PCIe1 */
    142&pcie { status = "disabled"; };
    143
    144&pcie1 {
    145	pinctrl-0 = <&pmx_pcie1_clkreq>;
    146	pinctrl-names = "default";
    147	status = "disabled";
    148};
    149
    150&pinctrl {
    151	pmx_uart2: pmx-uart2 {
    152		marvell,pins = "mpp14", "mpp15";
    153		marvell,function = "uart2";
    154	};
    155};
    156
    157/* Optional Broadcom BCM4319 802.11b/g/n WiFi module */
    158&sdio1 {
    159	non-removable;
    160	vmmc-supply = <&wifi_power>;
    161	reset-gpio = <&gpio2 6 GPIO_ACTIVE_LOW>;
    162	status = "disabled";
    163};
    164
    165&spi0 {
    166	status = "okay";
    167
    168	/* 1M Flash Winbond W25Q80BL */
    169	flash@0 {
    170		compatible = "winbond,w25q80";
    171		spi-max-frequency = <80000000>;
    172		reg = <0>;
    173	};
    174};
    175
    176&spi1 {
    177	pinctrl-0 = <&pmx_spi1_20_23>;
    178	pinctrl-names = "default";
    179	status = "disabled";
    180
    181	/* Optional TI TSC2046 touchscreen controller */
    182	opt_touch: touchscreen@0 {
    183		compatible = "ti,tsc2046";
    184		spi-max-frequency = <2500000>;
    185		reg = <0>;
    186		pinctrl-0 = <&pmx_gpio_13>;
    187		pinctrl-names = "default";
    188		interrupts-extended = <&gpio0 13 IRQ_TYPE_EDGE_FALLING>;
    189	};
    190};
    191
    192&uart2 {
    193	pinctrl-0 = <&pmx_uart2>;
    194	pinctrl-names = "default";
    195};