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