1bdecc9cbSJagan Teki/* 2bdecc9cbSJagan Teki * Copyright (C) 2017 Jagan Teki <jteki@openedev.com> 3bdecc9cbSJagan Teki * 4bdecc9cbSJagan Teki * This file is dual-licensed: you can use it either under the terms 5bdecc9cbSJagan Teki * of the GPL or the X11 license, at your option. Note that this dual 6bdecc9cbSJagan Teki * licensing only applies to this file, and not this project as a 7bdecc9cbSJagan Teki * whole. 8bdecc9cbSJagan Teki * 9bdecc9cbSJagan Teki * a) This library is free software; you can redistribute it and/or 10bdecc9cbSJagan Teki * modify it under the terms of the GNU General Public License as 11bdecc9cbSJagan Teki * published by the Free Software Foundation; either version 2 of the 12bdecc9cbSJagan Teki * License, or (at your option) any later version. 13bdecc9cbSJagan Teki * 14bdecc9cbSJagan Teki * This library is distributed in the hope that it will be useful, 15bdecc9cbSJagan Teki * but WITHOUT ANY WARRANTY; without even the implied warranty of 16bdecc9cbSJagan Teki * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17bdecc9cbSJagan Teki * GNU General Public License for more details. 18bdecc9cbSJagan Teki * 19bdecc9cbSJagan Teki * Or, alternatively, 20bdecc9cbSJagan Teki * 21bdecc9cbSJagan Teki * b) Permission is hereby granted, free of charge, to any person 22bdecc9cbSJagan Teki * obtaining a copy of this software and associated documentation 23bdecc9cbSJagan Teki * files (the "Software"), to deal in the Software without 24bdecc9cbSJagan Teki * restriction, including without limitation the rights to use, 25bdecc9cbSJagan Teki * copy, modify, merge, publish, distribute, sublicense, and/or 26bdecc9cbSJagan Teki * sell copies of the Software, and to permit persons to whom the 27bdecc9cbSJagan Teki * Software is furnished to do so, subject to the following 28bdecc9cbSJagan Teki * conditions: 29bdecc9cbSJagan Teki * 30bdecc9cbSJagan Teki * The above copyright notice and this permission notice shall be 31bdecc9cbSJagan Teki * included in all copies or substantial portions of the Software. 32bdecc9cbSJagan Teki * 33bdecc9cbSJagan Teki * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34bdecc9cbSJagan Teki * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35bdecc9cbSJagan Teki * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36bdecc9cbSJagan Teki * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37bdecc9cbSJagan Teki * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38bdecc9cbSJagan Teki * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39bdecc9cbSJagan Teki * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40bdecc9cbSJagan Teki * OTHER DEALINGS IN THE SOFTWARE. 41bdecc9cbSJagan Teki */ 42bdecc9cbSJagan Teki 43bdecc9cbSJagan Teki/dts-v1/; 44bdecc9cbSJagan Teki 45bdecc9cbSJagan Teki#include "sun50i-a64.dtsi" 46bdecc9cbSJagan Teki 47bdecc9cbSJagan Teki#include <dt-bindings/gpio/gpio.h> 48bdecc9cbSJagan Teki 49bdecc9cbSJagan Teki/ { 50bdecc9cbSJagan Teki model = "OrangePi Win/Win Plus"; 51bdecc9cbSJagan Teki compatible = "xunlong,orangepi-win", "allwinner,sun50i-a64"; 52bdecc9cbSJagan Teki 53bdecc9cbSJagan Teki aliases { 54bdecc9cbSJagan Teki serial0 = &uart0; 55bdecc9cbSJagan Teki }; 56bdecc9cbSJagan Teki 57bdecc9cbSJagan Teki chosen { 58bdecc9cbSJagan Teki stdout-path = "serial0:115200n8"; 59bdecc9cbSJagan Teki }; 603131cfb6SSamuel Holland 613131cfb6SSamuel Holland reg_usb1_vbus: usb1-vbus { 623131cfb6SSamuel Holland compatible = "regulator-fixed"; 633131cfb6SSamuel Holland regulator-name = "usb1-vbus"; 643131cfb6SSamuel Holland regulator-min-microvolt = <5000000>; 653131cfb6SSamuel Holland regulator-max-microvolt = <5000000>; 663131cfb6SSamuel Holland regulator-boot-on; 673131cfb6SSamuel Holland enable-active-high; 683131cfb6SSamuel Holland gpio = <&pio 3 7 GPIO_ACTIVE_HIGH>; /* PD7 */ 693131cfb6SSamuel Holland status = "okay"; 703131cfb6SSamuel Holland }; 71bdecc9cbSJagan Teki}; 72bdecc9cbSJagan Teki 73bdecc9cbSJagan Teki&ehci1 { 74bdecc9cbSJagan Teki status = "okay"; 75bdecc9cbSJagan Teki}; 76bdecc9cbSJagan Teki 77bdecc9cbSJagan Teki&mmc0 { 78bdecc9cbSJagan Teki pinctrl-names = "default"; 79bdecc9cbSJagan Teki pinctrl-0 = <&mmc0_pins>; 80e5701010SJagan Teki vmmc-supply = <®_dcdc1>; 8109b964afSSamuel Holland cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 8209b964afSSamuel Holland disable-wp; 8309b964afSSamuel Holland bus-width = <4>; 84bdecc9cbSJagan Teki status = "okay"; 85bdecc9cbSJagan Teki}; 86bdecc9cbSJagan Teki 87bdecc9cbSJagan Teki&ohci1 { 88bdecc9cbSJagan Teki status = "okay"; 89bdecc9cbSJagan Teki}; 90bdecc9cbSJagan Teki 91e5701010SJagan Teki&r_rsb { 92e5701010SJagan Teki status = "okay"; 93e5701010SJagan Teki 94e5701010SJagan Teki axp803: pmic@3a3 { 95e5701010SJagan Teki compatible = "x-powers,axp803"; 96e5701010SJagan Teki reg = <0x3a3>; 97e5701010SJagan Teki interrupt-parent = <&r_intc>; 98e5701010SJagan Teki interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 99e5701010SJagan Teki }; 100e5701010SJagan Teki}; 101e5701010SJagan Teki 102e5701010SJagan Teki#include "axp803.dtsi" 103e5701010SJagan Teki 104e5701010SJagan Teki®_aldo1 { 105e5701010SJagan Teki regulator-always-on; 106e5701010SJagan Teki regulator-min-microvolt = <1800000>; 107e5701010SJagan Teki regulator-max-microvolt = <3300000>; 108e5701010SJagan Teki regulator-name = "afvcc-csi"; 109e5701010SJagan Teki}; 110e5701010SJagan Teki 111e5701010SJagan Teki®_aldo2 { 112e5701010SJagan Teki regulator-always-on; 113e5701010SJagan Teki regulator-min-microvolt = <1800000>; 114e5701010SJagan Teki regulator-max-microvolt = <3300000>; 115e5701010SJagan Teki regulator-name = "vcc-pl"; 116e5701010SJagan Teki}; 117e5701010SJagan Teki 118e5701010SJagan Teki®_aldo3 { 119e5701010SJagan Teki regulator-always-on; 120e5701010SJagan Teki regulator-min-microvolt = <3000000>; 121e5701010SJagan Teki regulator-max-microvolt = <3000000>; 122e5701010SJagan Teki regulator-name = "vcc-pll-avcc"; 123e5701010SJagan Teki}; 124e5701010SJagan Teki 125e5701010SJagan Teki®_dcdc1 { 126e5701010SJagan Teki regulator-always-on; 127e5701010SJagan Teki regulator-min-microvolt = <3300000>; 128e5701010SJagan Teki regulator-max-microvolt = <3300000>; 129e5701010SJagan Teki regulator-name = "vcc-3v3"; 130e5701010SJagan Teki}; 131e5701010SJagan Teki 132e5701010SJagan Teki®_dcdc2 { 133e5701010SJagan Teki regulator-always-on; 134e5701010SJagan Teki regulator-min-microvolt = <1040000>; 135e5701010SJagan Teki regulator-max-microvolt = <1300000>; 136e5701010SJagan Teki regulator-name = "vdd-cpux"; 137e5701010SJagan Teki}; 138e5701010SJagan Teki 139e5701010SJagan Teki/* DCDC3 is polyphased with DCDC2 */ 140e5701010SJagan Teki 141e5701010SJagan Teki®_dcdc5 { 142e5701010SJagan Teki regulator-always-on; 143e5701010SJagan Teki regulator-min-microvolt = <1500000>; 144e5701010SJagan Teki regulator-max-microvolt = <1500000>; 145e5701010SJagan Teki regulator-name = "vcc-dram"; 146e5701010SJagan Teki}; 147e5701010SJagan Teki 148e5701010SJagan Teki®_dcdc6 { 149e5701010SJagan Teki regulator-always-on; 150e5701010SJagan Teki regulator-min-microvolt = <1100000>; 151e5701010SJagan Teki regulator-max-microvolt = <1100000>; 152e5701010SJagan Teki regulator-name = "vdd-sys"; 153e5701010SJagan Teki}; 154e5701010SJagan Teki 155e5701010SJagan Teki®_dldo1 { 156e5701010SJagan Teki regulator-min-microvolt = <3300000>; 157e5701010SJagan Teki regulator-max-microvolt = <3300000>; 158e5701010SJagan Teki regulator-name = "vcc-hdmi-dsi"; 159e5701010SJagan Teki}; 160e5701010SJagan Teki 161e5701010SJagan Teki®_dldo2 { 162e5701010SJagan Teki regulator-min-microvolt = <3300000>; 163e5701010SJagan Teki regulator-max-microvolt = <3300000>; 164e5701010SJagan Teki regulator-name = "vcc-wifi"; 165e5701010SJagan Teki}; 166e5701010SJagan Teki 167e5701010SJagan Teki®_dldo3 { 168e5701010SJagan Teki regulator-min-microvolt = <3300000>; 169e5701010SJagan Teki regulator-max-microvolt = <3300000>; 170e5701010SJagan Teki regulator-name = "avdd-csi"; 171e5701010SJagan Teki}; 172e5701010SJagan Teki 173e5701010SJagan Teki®_dldo4 { 174e5701010SJagan Teki regulator-min-microvolt = <3300000>; 175e5701010SJagan Teki regulator-max-microvolt = <3300000>; 176e5701010SJagan Teki regulator-name = "vcc-wifi-io"; 177e5701010SJagan Teki}; 178e5701010SJagan Teki 179e5701010SJagan Teki®_eldo1 { 180e5701010SJagan Teki regulator-min-microvolt = <1800000>; 181e5701010SJagan Teki regulator-max-microvolt = <1800000>; 182e5701010SJagan Teki regulator-name = "cpvdd"; 183e5701010SJagan Teki}; 184e5701010SJagan Teki 185e5701010SJagan Teki®_fldo1 { 186e5701010SJagan Teki regulator-min-microvolt = <1200000>; 187e5701010SJagan Teki regulator-max-microvolt = <1200000>; 188e5701010SJagan Teki regulator-name = "vcc-1v2-hsic"; 189e5701010SJagan Teki}; 190e5701010SJagan Teki 191e5701010SJagan Teki/* 192e5701010SJagan Teki * The A64 chip cannot work without this regulator off, although 193e5701010SJagan Teki * it seems to be only driving the AR100 core. 194e5701010SJagan Teki * Maybe we don't still know well about CPUs domain. 195e5701010SJagan Teki */ 196e5701010SJagan Teki®_fldo2 { 197e5701010SJagan Teki regulator-always-on; 198e5701010SJagan Teki regulator-min-microvolt = <1100000>; 199e5701010SJagan Teki regulator-max-microvolt = <1100000>; 200e5701010SJagan Teki regulator-name = "vdd-cpus"; 201e5701010SJagan Teki}; 202e5701010SJagan Teki 203e5701010SJagan Teki®_rtc_ldo { 204e5701010SJagan Teki regulator-name = "vcc-rtc"; 205e5701010SJagan Teki}; 206e5701010SJagan Teki 2075cbef9f9SIcenowy Zheng&simplefb_hdmi { 2085cbef9f9SIcenowy Zheng vcc-hdmi-supply = <®_dldo1>; 2095cbef9f9SIcenowy Zheng}; 2105cbef9f9SIcenowy Zheng 211bdecc9cbSJagan Teki&uart0 { 212bdecc9cbSJagan Teki pinctrl-names = "default"; 213bdecc9cbSJagan Teki pinctrl-0 = <&uart0_pins_a>; 214bdecc9cbSJagan Teki status = "okay"; 215bdecc9cbSJagan Teki}; 216bdecc9cbSJagan Teki 217bdecc9cbSJagan Teki&usbphy { 2183131cfb6SSamuel Holland usb1_vbus-supply = <®_usb1_vbus>; 219bdecc9cbSJagan Teki status = "okay"; 220bdecc9cbSJagan Teki}; 221bdecc9cbSJagan Teki 222