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

sun7i-a20-cubietruck.dts (6889B)


      1/*
      2 * Copyright 2013 Oliver Schinagl
      3 *
      4 * Oliver Schinagl <oliver@schinagl.nl>
      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; either version 2 of the
     14 *     License, or (at your option) any later version.
     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/dts-v1/;
     46#include "sun7i-a20.dtsi"
     47#include "sunxi-common-regulators.dtsi"
     48
     49#include <dt-bindings/gpio/gpio.h>
     50#include <dt-bindings/interrupt-controller/irq.h>
     51
     52/ {
     53	model = "Cubietech Cubietruck";
     54	compatible = "cubietech,cubietruck", "allwinner,sun7i-a20";
     55
     56	aliases {
     57		serial0 = &uart0;
     58	};
     59
     60	chosen {
     61		stdout-path = "serial0:115200n8";
     62	};
     63
     64	hdmi-connector {
     65		compatible = "hdmi-connector";
     66		type = "a";
     67
     68		port {
     69			hdmi_con_in: endpoint {
     70				remote-endpoint = <&hdmi_out_con>;
     71			};
     72		};
     73	};
     74
     75	leds {
     76		compatible = "gpio-leds";
     77
     78		led-0 {
     79			label = "cubietruck:blue:usr";
     80			gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
     81		};
     82
     83		led-1 {
     84			label = "cubietruck:orange:usr";
     85			gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
     86		};
     87
     88		led-2 {
     89			label = "cubietruck:white:usr";
     90			gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>;
     91		};
     92
     93		led-3 {
     94			label = "cubietruck:green:usr";
     95			gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>;
     96		};
     97	};
     98
     99	mmc3_pwrseq: mmc3_pwrseq {
    100		compatible = "mmc-pwrseq-simple";
    101		reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */
    102		clocks = <&ccu CLK_OUT_A>;
    103		clock-names = "ext_clock";
    104	};
    105
    106	sound {
    107		compatible = "simple-audio-card";
    108		simple-audio-card,name = "On-board SPDIF";
    109
    110		simple-audio-card,cpu {
    111			sound-dai = <&spdif>;
    112		};
    113
    114		simple-audio-card,codec {
    115			sound-dai = <&spdif_out>;
    116		};
    117	};
    118
    119	spdif_out: spdif-out {
    120		#sound-dai-cells = <0>;
    121		compatible = "linux,spdif-dit";
    122	};
    123};
    124
    125&ahci {
    126	target-supply = <&reg_ahci_5v>;
    127	status = "okay";
    128};
    129
    130&codec {
    131	status = "okay";
    132};
    133
    134&cpu0 {
    135	cpu-supply = <&reg_dcdc2>;
    136};
    137
    138&de {
    139	status = "okay";
    140};
    141
    142&ehci0 {
    143	status = "okay";
    144};
    145
    146&ehci1 {
    147	status = "okay";
    148};
    149
    150&gmac {
    151	pinctrl-names = "default";
    152	pinctrl-0 = <&gmac_rgmii_pins>;
    153	phy-handle = <&phy1>;
    154	phy-mode = "rgmii-id";
    155	status = "okay";
    156};
    157
    158&hdmi {
    159	status = "okay";
    160};
    161
    162&hdmi_out {
    163	hdmi_out_con: endpoint {
    164		remote-endpoint = <&hdmi_con_in>;
    165	};
    166};
    167
    168&i2c0 {
    169	status = "okay";
    170
    171	axp209: pmic@34 {
    172		reg = <0x34>;
    173		interrupt-parent = <&nmi_intc>;
    174		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
    175	};
    176};
    177
    178&i2c1 {
    179	pinctrl-names = "default";
    180	status = "okay";
    181};
    182
    183&i2c2 {
    184	status = "okay";
    185};
    186
    187&ir0 {
    188	pinctrl-names = "default";
    189	pinctrl-0 = <&ir0_rx_pin>;
    190	status = "okay";
    191};
    192
    193&gmac_mdio {
    194	phy1: ethernet-phy@1 {
    195		reg = <1>;
    196	};
    197};
    198
    199&mmc0 {
    200	vmmc-supply = <&reg_vcc3v3>;
    201	bus-width = <4>;
    202	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
    203	status = "okay";
    204};
    205
    206&mmc3 {
    207	vmmc-supply = <&reg_vcc3v3>;
    208	mmc-pwrseq = <&mmc3_pwrseq>;
    209	bus-width = <4>;
    210	non-removable;
    211	status = "okay";
    212
    213	brcmf: wifi@1 {
    214		reg = <1>;
    215		compatible = "brcm,bcm4329-fmac";
    216		interrupt-parent = <&pio>;
    217		interrupts = <7 10 IRQ_TYPE_LEVEL_LOW>; /* PH10 / EINT10 */
    218		interrupt-names = "host-wake";
    219	};
    220};
    221
    222&ohci0 {
    223	status = "okay";
    224};
    225
    226&ohci1 {
    227	status = "okay";
    228};
    229
    230&otg_sram {
    231	status = "okay";
    232};
    233
    234&pio {
    235	/* Pin outputs low power clock for WiFi and BT */
    236	pinctrl-0 = <&clk_out_a_pin>;
    237	pinctrl-names = "default";
    238};
    239
    240&pwm {
    241	pinctrl-names = "default";
    242	pinctrl-0 = <&pwm0_pin>, <&pwm1_pin>;
    243	status = "okay";
    244};
    245
    246&reg_ahci_5v {
    247	gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>;
    248	status = "okay";
    249};
    250
    251#include "axp209.dtsi"
    252
    253&ac_power_supply {
    254	status = "okay";
    255};
    256
    257&battery_power_supply {
    258	status = "okay";
    259};
    260
    261&reg_dcdc2 {
    262	regulator-always-on;
    263	regulator-min-microvolt = <1000000>;
    264	regulator-max-microvolt = <1450000>;
    265	regulator-name = "vdd-cpu";
    266};
    267
    268&reg_dcdc3 {
    269	regulator-always-on;
    270	regulator-min-microvolt = <1000000>;
    271	regulator-max-microvolt = <1400000>;
    272	regulator-name = "vdd-int-dll";
    273};
    274
    275&reg_ldo1 {
    276	regulator-name = "vdd-rtc";
    277};
    278
    279&reg_ldo2 {
    280	regulator-always-on;
    281	regulator-min-microvolt = <3000000>;
    282	regulator-max-microvolt = <3000000>;
    283	regulator-name = "avcc";
    284};
    285
    286&reg_usb0_vbus {
    287	gpio = <&pio 7 17 GPIO_ACTIVE_HIGH>;
    288	status = "okay";
    289};
    290
    291&reg_usb1_vbus {
    292	status = "okay";
    293};
    294
    295&reg_usb2_vbus {
    296	status = "okay";
    297};
    298
    299&spdif {
    300	pinctrl-names = "default";
    301	pinctrl-0 = <&spdif_tx_pin>;
    302	status = "okay";
    303};
    304
    305&uart0 {
    306	pinctrl-names = "default";
    307	pinctrl-0 = <&uart0_pb_pins>;
    308	status = "okay";
    309};
    310
    311&uart2 {
    312	pinctrl-names = "default";
    313	pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>;
    314	uart-has-rtscts;
    315	status = "okay";
    316
    317	bluetooth {
    318		compatible = "brcm,bcm20702a1";
    319		clocks = <&ccu CLK_OUT_A>;
    320		clock-names = "lpo";
    321		device-wakeup-gpios = <&pio 7 24 GPIO_ACTIVE_LOW>; /* PH24 */
    322		host-wakeup-gpios = <&pio 7 25 GPIO_ACTIVE_LOW>; /* PH25 */
    323		shutdown-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */
    324		max-speed = <1500000>;
    325	};
    326};
    327
    328&usb_otg {
    329	dr_mode = "otg";
    330	status = "okay";
    331};
    332
    333&usb_power_supply {
    334	status = "okay";
    335};
    336
    337&usbphy {
    338	usb0_id_det-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */
    339	usb0_vbus_det-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
    340	usb0_vbus_power-supply = <&usb_power_supply>;
    341	usb0_vbus-supply = <&reg_usb0_vbus>;
    342	usb1_vbus-supply = <&reg_usb1_vbus>;
    343	usb2_vbus-supply = <&reg_usb2_vbus>;
    344	status = "okay";
    345};