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