1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (C) 2017 Chen-Yu Tsai <wens@csie.org> 4*f126890aSEmmanuel Vadot * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> 5*f126890aSEmmanuel Vadot * Copyright (C) 2018 Hao Zhang <hao5781286@gmail.com> 6*f126890aSEmmanuel Vadot * 7*f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms 8*f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual 9*f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a 10*f126890aSEmmanuel Vadot * whole. 11*f126890aSEmmanuel Vadot * 12*f126890aSEmmanuel Vadot * a) This file is free software; you can redistribute it and/or 13*f126890aSEmmanuel Vadot * modify it under the terms of the GNU General Public License as 14*f126890aSEmmanuel Vadot * published by the Free Software Foundation; either version 2 of the 15*f126890aSEmmanuel Vadot * License, or (at your option) any later version. 16*f126890aSEmmanuel Vadot * 17*f126890aSEmmanuel Vadot * This file is distributed in the hope that it will be useful, 18*f126890aSEmmanuel Vadot * but WITHOUT ANY WARRANTY; without even the implied warranty of 19*f126890aSEmmanuel Vadot * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20*f126890aSEmmanuel Vadot * GNU General Public License for more details. 21*f126890aSEmmanuel Vadot * 22*f126890aSEmmanuel Vadot * Or, alternatively, 23*f126890aSEmmanuel Vadot * 24*f126890aSEmmanuel Vadot * b) Permission is hereby granted, free of charge, to any person 25*f126890aSEmmanuel Vadot * obtaining a copy of this software and associated documentation 26*f126890aSEmmanuel Vadot * files (the "Software"), to deal in the Software without 27*f126890aSEmmanuel Vadot * restriction, including without limitation the rights to use, 28*f126890aSEmmanuel Vadot * copy, modify, merge, publish, distribute, sublicense, and/or 29*f126890aSEmmanuel Vadot * sell copies of the Software, and to permit persons to whom the 30*f126890aSEmmanuel Vadot * Software is furnished to do so, subject to the following 31*f126890aSEmmanuel Vadot * conditions: 32*f126890aSEmmanuel Vadot * 33*f126890aSEmmanuel Vadot * The above copyright notice and this permission notice shall be 34*f126890aSEmmanuel Vadot * included in all copies or substantial portions of the Software. 35*f126890aSEmmanuel Vadot * 36*f126890aSEmmanuel Vadot * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 37*f126890aSEmmanuel Vadot * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 38*f126890aSEmmanuel Vadot * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 39*f126890aSEmmanuel Vadot * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40*f126890aSEmmanuel Vadot * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 41*f126890aSEmmanuel Vadot * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 42*f126890aSEmmanuel Vadot * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 43*f126890aSEmmanuel Vadot * OTHER DEALINGS IN THE SOFTWARE. 44*f126890aSEmmanuel Vadot */ 45*f126890aSEmmanuel Vadot 46*f126890aSEmmanuel Vadot/dts-v1/; 47*f126890aSEmmanuel Vadot#include "sun8i-r40.dtsi" 48*f126890aSEmmanuel Vadot#include "sun8i-r40-cpu-opp.dtsi" 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 51*f126890aSEmmanuel Vadot 52*f126890aSEmmanuel Vadot/ { 53*f126890aSEmmanuel Vadot model = "t3-cqa3t-bv3"; 54*f126890aSEmmanuel Vadot compatible = "qihua,t3-cqa3t-bv3", "allwinner,sun8i-t3", 55*f126890aSEmmanuel Vadot "allwinner,sun8i-r40"; 56*f126890aSEmmanuel Vadot 57*f126890aSEmmanuel Vadot aliases { 58*f126890aSEmmanuel Vadot serial0 = &uart0; 59*f126890aSEmmanuel Vadot }; 60*f126890aSEmmanuel Vadot 61*f126890aSEmmanuel Vadot chosen { 62*f126890aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 63*f126890aSEmmanuel Vadot }; 64*f126890aSEmmanuel Vadot 65*f126890aSEmmanuel Vadot connector { 66*f126890aSEmmanuel Vadot compatible = "hdmi-connector"; 67*f126890aSEmmanuel Vadot type = "a"; 68*f126890aSEmmanuel Vadot 69*f126890aSEmmanuel Vadot port { 70*f126890aSEmmanuel Vadot hdmi_con_in: endpoint { 71*f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_out_con>; 72*f126890aSEmmanuel Vadot }; 73*f126890aSEmmanuel Vadot }; 74*f126890aSEmmanuel Vadot }; 75*f126890aSEmmanuel Vadot 76*f126890aSEmmanuel Vadot reg_vcc5v0: vcc5v0 { 77*f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 78*f126890aSEmmanuel Vadot regulator-name = "vcc5v0"; 79*f126890aSEmmanuel Vadot regulator-min-microvolt = <5000000>; 80*f126890aSEmmanuel Vadot regulator-max-microvolt = <5000000>; 81*f126890aSEmmanuel Vadot gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>; /* PH23 */ 82*f126890aSEmmanuel Vadot enable-active-high; 83*f126890aSEmmanuel Vadot }; 84*f126890aSEmmanuel Vadot}; 85*f126890aSEmmanuel Vadot 86*f126890aSEmmanuel Vadot&ahci { 87*f126890aSEmmanuel Vadot ahci-supply = <®_dldo4>; 88*f126890aSEmmanuel Vadot phy-supply = <®_eldo3>; 89*f126890aSEmmanuel Vadot status = "okay"; 90*f126890aSEmmanuel Vadot}; 91*f126890aSEmmanuel Vadot 92*f126890aSEmmanuel Vadot&cpu0 { 93*f126890aSEmmanuel Vadot cpu-supply = <®_dcdc2>; 94*f126890aSEmmanuel Vadot}; 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot&de { 97*f126890aSEmmanuel Vadot status = "okay"; 98*f126890aSEmmanuel Vadot}; 99*f126890aSEmmanuel Vadot 100*f126890aSEmmanuel Vadot&ehci1 { 101*f126890aSEmmanuel Vadot status = "okay"; 102*f126890aSEmmanuel Vadot}; 103*f126890aSEmmanuel Vadot 104*f126890aSEmmanuel Vadot&ehci2 { 105*f126890aSEmmanuel Vadot status = "okay"; 106*f126890aSEmmanuel Vadot}; 107*f126890aSEmmanuel Vadot 108*f126890aSEmmanuel Vadot&hdmi { 109*f126890aSEmmanuel Vadot status = "okay"; 110*f126890aSEmmanuel Vadot}; 111*f126890aSEmmanuel Vadot 112*f126890aSEmmanuel Vadot&hdmi_out { 113*f126890aSEmmanuel Vadot hdmi_out_con: endpoint { 114*f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_con_in>; 115*f126890aSEmmanuel Vadot }; 116*f126890aSEmmanuel Vadot}; 117*f126890aSEmmanuel Vadot 118*f126890aSEmmanuel Vadot&i2c0 { 119*f126890aSEmmanuel Vadot status = "okay"; 120*f126890aSEmmanuel Vadot 121*f126890aSEmmanuel Vadot axp22x: pmic@34 { 122*f126890aSEmmanuel Vadot compatible = "x-powers,axp221"; 123*f126890aSEmmanuel Vadot reg = <0x34>; 124*f126890aSEmmanuel Vadot interrupt-parent = <&nmi_intc>; 125*f126890aSEmmanuel Vadot interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 126*f126890aSEmmanuel Vadot }; 127*f126890aSEmmanuel Vadot}; 128*f126890aSEmmanuel Vadot 129*f126890aSEmmanuel Vadot#include "axp22x.dtsi" 130*f126890aSEmmanuel Vadot 131*f126890aSEmmanuel Vadot&mmc0 { 132*f126890aSEmmanuel Vadot vmmc-supply = <®_dcdc1>; 133*f126890aSEmmanuel Vadot bus-width = <4>; 134*f126890aSEmmanuel Vadot cd-gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; /* PH15 */ 135*f126890aSEmmanuel Vadot status = "okay"; 136*f126890aSEmmanuel Vadot}; 137*f126890aSEmmanuel Vadot 138*f126890aSEmmanuel Vadot&mmc2 { 139*f126890aSEmmanuel Vadot vmmc-supply = <®_dcdc1>; 140*f126890aSEmmanuel Vadot vqmmc-supply = <®_dcdc1>; 141*f126890aSEmmanuel Vadot bus-width = <8>; 142*f126890aSEmmanuel Vadot non-removable; 143*f126890aSEmmanuel Vadot status = "okay"; 144*f126890aSEmmanuel Vadot}; 145*f126890aSEmmanuel Vadot 146*f126890aSEmmanuel Vadot&ohci1 { 147*f126890aSEmmanuel Vadot status = "okay"; 148*f126890aSEmmanuel Vadot}; 149*f126890aSEmmanuel Vadot 150*f126890aSEmmanuel Vadot&ohci2 { 151*f126890aSEmmanuel Vadot status = "okay"; 152*f126890aSEmmanuel Vadot}; 153*f126890aSEmmanuel Vadot 154*f126890aSEmmanuel Vadot®_aldo2 { 155*f126890aSEmmanuel Vadot regulator-always-on; 156*f126890aSEmmanuel Vadot regulator-min-microvolt = <2500000>; 157*f126890aSEmmanuel Vadot regulator-max-microvolt = <2500000>; 158*f126890aSEmmanuel Vadot regulator-name = "vcc-pa"; 159*f126890aSEmmanuel Vadot}; 160*f126890aSEmmanuel Vadot 161*f126890aSEmmanuel Vadot®_aldo3 { 162*f126890aSEmmanuel Vadot regulator-always-on; 163*f126890aSEmmanuel Vadot regulator-min-microvolt = <2700000>; 164*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 165*f126890aSEmmanuel Vadot regulator-name = "avcc"; 166*f126890aSEmmanuel Vadot}; 167*f126890aSEmmanuel Vadot 168*f126890aSEmmanuel Vadot®_dcdc1 { 169*f126890aSEmmanuel Vadot regulator-always-on; 170*f126890aSEmmanuel Vadot regulator-min-microvolt = <3000000>; 171*f126890aSEmmanuel Vadot regulator-max-microvolt = <3000000>; 172*f126890aSEmmanuel Vadot regulator-name = "vcc-3v0"; 173*f126890aSEmmanuel Vadot}; 174*f126890aSEmmanuel Vadot 175*f126890aSEmmanuel Vadot®_dcdc2 { 176*f126890aSEmmanuel Vadot regulator-always-on; 177*f126890aSEmmanuel Vadot regulator-min-microvolt = <1000000>; 178*f126890aSEmmanuel Vadot regulator-max-microvolt = <1300000>; 179*f126890aSEmmanuel Vadot regulator-name = "vdd-cpu"; 180*f126890aSEmmanuel Vadot}; 181*f126890aSEmmanuel Vadot 182*f126890aSEmmanuel Vadot®_dcdc3 { 183*f126890aSEmmanuel Vadot regulator-always-on; 184*f126890aSEmmanuel Vadot regulator-min-microvolt = <1000000>; 185*f126890aSEmmanuel Vadot regulator-max-microvolt = <1300000>; 186*f126890aSEmmanuel Vadot regulator-name = "vdd-sys"; 187*f126890aSEmmanuel Vadot}; 188*f126890aSEmmanuel Vadot 189*f126890aSEmmanuel Vadot®_dcdc5 { 190*f126890aSEmmanuel Vadot regulator-always-on; 191*f126890aSEmmanuel Vadot regulator-min-microvolt = <1500000>; 192*f126890aSEmmanuel Vadot regulator-max-microvolt = <1500000>; 193*f126890aSEmmanuel Vadot regulator-name = "vcc-dram"; 194*f126890aSEmmanuel Vadot}; 195*f126890aSEmmanuel Vadot 196*f126890aSEmmanuel Vadot®_dldo1 { 197*f126890aSEmmanuel Vadot regulator-always-on; 198*f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 199*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 200*f126890aSEmmanuel Vadot regulator-name = "vcc-pg"; 201*f126890aSEmmanuel Vadot}; 202*f126890aSEmmanuel Vadot 203*f126890aSEmmanuel Vadot®_dldo3 { 204*f126890aSEmmanuel Vadot regulator-always-on; 205*f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 206*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 207*f126890aSEmmanuel Vadot regulator-name = "vcc-dldo3"; 208*f126890aSEmmanuel Vadot}; 209*f126890aSEmmanuel Vadot 210*f126890aSEmmanuel Vadot®_eldo3 { 211*f126890aSEmmanuel Vadot regulator-always-on; 212*f126890aSEmmanuel Vadot regulator-min-microvolt = <2800000>; 213*f126890aSEmmanuel Vadot regulator-max-microvolt = <2800000>; 214*f126890aSEmmanuel Vadot regulator-name = "vcc-pe"; 215*f126890aSEmmanuel Vadot}; 216*f126890aSEmmanuel Vadot 217*f126890aSEmmanuel Vadot&tcon_tv0 { 218*f126890aSEmmanuel Vadot status = "okay"; 219*f126890aSEmmanuel Vadot}; 220*f126890aSEmmanuel Vadot 221*f126890aSEmmanuel Vadot&uart0 { 222*f126890aSEmmanuel Vadot pinctrl-names = "default"; 223*f126890aSEmmanuel Vadot pinctrl-0 = <&uart0_pb_pins>; 224*f126890aSEmmanuel Vadot status = "okay"; 225*f126890aSEmmanuel Vadot}; 226*f126890aSEmmanuel Vadot 227*f126890aSEmmanuel Vadot&usbphy { 228*f126890aSEmmanuel Vadot usb1_vbus-supply = <®_vcc5v0>; 229*f126890aSEmmanuel Vadot usb2_vbus-supply = <®_vcc5v0>; 230*f126890aSEmmanuel Vadot status = "okay"; 231*f126890aSEmmanuel Vadot}; 232