19800cfceSHans de Goede/*
29800cfceSHans de Goede * Copyright 2015 Gábor Nyers
39800cfceSHans de Goede *
49800cfceSHans de Goede * Gábor Nyers <gabor.nyers@gmail.com>
59800cfceSHans de Goede *
69800cfceSHans de Goede * This file is dual-licensed: you can use it either under the terms
79800cfceSHans de Goede * of the GPL or the X11 license, at your option. Note that this dual
89800cfceSHans de Goede * licensing only applies to this file, and not this project as a
99800cfceSHans de Goede * whole.
109800cfceSHans de Goede *
119800cfceSHans de Goede *  a) This file is free software; you can redistribute it and/or
129800cfceSHans de Goede *     modify it under the terms of the GNU General Public License as
139800cfceSHans de Goede *     published by the Free Software Foundation; either version 2 of the
149800cfceSHans de Goede *     License, or (at your option) any later version.
159800cfceSHans de Goede *
169800cfceSHans de Goede *     This file is distributed in the hope that it will be useful,
179800cfceSHans de Goede *     but WITHOUT ANY WARRANTY; without even the implied warranty of
189800cfceSHans de Goede *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
199800cfceSHans de Goede *     GNU General Public License for more details.
209800cfceSHans de Goede *
219800cfceSHans de Goede * Or, alternatively,
229800cfceSHans de Goede *
239800cfceSHans de Goede *  b) Permission is hereby granted, free of charge, to any person
249800cfceSHans de Goede *     obtaining a copy of this software and associated documentation
259800cfceSHans de Goede *     files (the "Software"), to deal in the Software without
269800cfceSHans de Goede *     restriction, including without limitation the rights to use,
279800cfceSHans de Goede *     copy, modify, merge, publish, distribute, sublicense, and/or
289800cfceSHans de Goede *     sell copies of the Software, and to permit persons to whom the
299800cfceSHans de Goede *     Software is furnished to do so, subject to the following
309800cfceSHans de Goede *     conditions:
319800cfceSHans de Goede *
329800cfceSHans de Goede *     The above copyright notice and this permission notice shall be
339800cfceSHans de Goede *     included in all copies or substantial portions of the Software.
349800cfceSHans de Goede *
359800cfceSHans de Goede *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
369800cfceSHans de Goede *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
379800cfceSHans de Goede *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
389800cfceSHans de Goede *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
399800cfceSHans de Goede *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
409800cfceSHans de Goede *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
419800cfceSHans de Goede *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
429800cfceSHans de Goede *     OTHER DEALINGS IN THE SOFTWARE.
439800cfceSHans de Goede */
449800cfceSHans de Goede
459800cfceSHans de Goede/dts-v1/;
469800cfceSHans de Goede#include "sun4i-a10.dtsi"
479800cfceSHans de Goede#include "sunxi-common-regulators.dtsi"
489800cfceSHans de Goede
499800cfceSHans de Goede#include <dt-bindings/gpio/gpio.h>
509800cfceSHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h>
519800cfceSHans de Goede
529800cfceSHans de Goede/ {
539800cfceSHans de Goede	model = "Jesurun Q5";
549800cfceSHans de Goede	compatible = "jesurun,q5", "allwinner,sun4i-a10";
559800cfceSHans de Goede
569800cfceSHans de Goede	aliases {
579800cfceSHans de Goede		serial0 = &uart0;
589800cfceSHans de Goede	};
599800cfceSHans de Goede
609800cfceSHans de Goede	chosen {
619800cfceSHans de Goede		stdout-path = "serial0:115200n8";
629800cfceSHans de Goede	};
639800cfceSHans de Goede
649800cfceSHans de Goede	leds {
659800cfceSHans de Goede		compatible = "gpio-leds";
669800cfceSHans de Goede		pinctrl-names = "default";
679800cfceSHans de Goede		pinctrl-0 = <&led_pins_q5>;
689800cfceSHans de Goede
699800cfceSHans de Goede		green {
709800cfceSHans de Goede			label = "q5:green:usr";
719800cfceSHans de Goede			gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;  /* PH20 */
729800cfceSHans de Goede		};
739800cfceSHans de Goede
749800cfceSHans de Goede	};
759800cfceSHans de Goede
769800cfceSHans de Goede	reg_emac_3v3: emac-3v3 {
779800cfceSHans de Goede		compatible = "regulator-fixed";
789800cfceSHans de Goede		pinctrl-names = "default";
799800cfceSHans de Goede		pinctrl-0 = <&emac_power_pin_q5>;
809800cfceSHans de Goede		regulator-name = "emac-3v3";
819800cfceSHans de Goede		regulator-min-microvolt = <3300000>;
829800cfceSHans de Goede		regulator-max-microvolt = <3300000>;
83*860fbdd4SHans de Goede		startup-delay-us = <20000>;
849800cfceSHans de Goede		enable-active-high;
859800cfceSHans de Goede		gpio = <&pio 7 19 GPIO_ACTIVE_HIGH>;   /* PH19 */
869800cfceSHans de Goede	};
879800cfceSHans de Goede};
889800cfceSHans de Goede
899800cfceSHans de Goede&ahci {
909800cfceSHans de Goede	status = "okay";
919800cfceSHans de Goede};
929800cfceSHans de Goede
939800cfceSHans de Goede&ehci0 {
949800cfceSHans de Goede	status = "okay";
959800cfceSHans de Goede};
969800cfceSHans de Goede
979800cfceSHans de Goede&ehci1 {
989800cfceSHans de Goede	status = "okay";
999800cfceSHans de Goede};
1009800cfceSHans de Goede
1019800cfceSHans de Goede&emac {
1029800cfceSHans de Goede	pinctrl-names = "default";
1039800cfceSHans de Goede	pinctrl-0 = <&emac_pins_a>;
1049800cfceSHans de Goede	phy = <&phy1>;
1059800cfceSHans de Goede	status = "okay";
1069800cfceSHans de Goede};
1079800cfceSHans de Goede
1088b1ba941SHans de Goede&emac_sram {
1098b1ba941SHans de Goede	status = "okay";
1108b1ba941SHans de Goede};
1118b1ba941SHans de Goede
1129800cfceSHans de Goede&i2c0 {
1139800cfceSHans de Goede	pinctrl-names = "default";
1149800cfceSHans de Goede	pinctrl-0 = <&i2c0_pins_a>;
1159800cfceSHans de Goede	status = "okay";
1169800cfceSHans de Goede
1179800cfceSHans de Goede	axp209: pmic@34 {
1189800cfceSHans de Goede		compatible = "x-powers,axp209";
1199800cfceSHans de Goede		reg = <0x34>;
1209800cfceSHans de Goede		interrupts = <0>;
1219800cfceSHans de Goede
1229800cfceSHans de Goede		interrupt-controller;
1239800cfceSHans de Goede		#interrupt-cells = <1>;
1249800cfceSHans de Goede	};
1259800cfceSHans de Goede};
1269800cfceSHans de Goede
1279800cfceSHans de Goede&ir0 {
1289800cfceSHans de Goede	pinctrl-names = "default";
1298b1ba941SHans de Goede	pinctrl-0 = <&ir0_rx_pins_a>;
1309800cfceSHans de Goede	status = "okay";
1319800cfceSHans de Goede};
1329800cfceSHans de Goede
1339800cfceSHans de Goede&mdio {
1349800cfceSHans de Goede	phy-supply = <&reg_emac_3v3>;
1359800cfceSHans de Goede	status = "okay";
1369800cfceSHans de Goede
1379800cfceSHans de Goede	phy1: ethernet-phy@1 {
1389800cfceSHans de Goede		reg = <1>;
1399800cfceSHans de Goede	};
1409800cfceSHans de Goede};
1419800cfceSHans de Goede
1429800cfceSHans de Goede&mmc0 {
1439800cfceSHans de Goede	pinctrl-names = "default";
1449800cfceSHans de Goede	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
1459800cfceSHans de Goede	vmmc-supply = <&reg_vcc3v3>;
1469800cfceSHans de Goede	bus-width = <4>;
1479800cfceSHans de Goede	cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
1489800cfceSHans de Goede	cd-inverted;
1499800cfceSHans de Goede	status = "okay";
1509800cfceSHans de Goede};
1519800cfceSHans de Goede
1529800cfceSHans de Goede&ohci0 {
1539800cfceSHans de Goede	status = "okay";
1549800cfceSHans de Goede};
1559800cfceSHans de Goede
1569800cfceSHans de Goede&ohci1 {
1579800cfceSHans de Goede	status = "okay";
1589800cfceSHans de Goede};
1599800cfceSHans de Goede
16080e5f83cSHans de Goede&otg_sram {
16180e5f83cSHans de Goede	status = "okay";
16280e5f83cSHans de Goede};
16380e5f83cSHans de Goede
1649800cfceSHans de Goede&pio {
1659800cfceSHans de Goede	emac_power_pin_q5: emac_power_pin@0 {
1669800cfceSHans de Goede		allwinner,pins = "PH19";
1679800cfceSHans de Goede		allwinner,function = "gpio_out";
1689800cfceSHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1699800cfceSHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1709800cfceSHans de Goede	};
1719800cfceSHans de Goede
1729800cfceSHans de Goede	led_pins_q5: led_pins@0 {
1739800cfceSHans de Goede		allwinner,pins = "PH20";
1749800cfceSHans de Goede		allwinner,function = "gpio_out";
1759800cfceSHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1769800cfceSHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1779800cfceSHans de Goede	};
1789800cfceSHans de Goede};
1799800cfceSHans de Goede
18080e5f83cSHans de Goede&reg_usb0_vbus {
18180e5f83cSHans de Goede	regulator-boot-on;
18280e5f83cSHans de Goede	status = "okay";
18380e5f83cSHans de Goede};
18480e5f83cSHans de Goede
1859800cfceSHans de Goede&reg_usb1_vbus {
1869800cfceSHans de Goede	status = "okay";
1879800cfceSHans de Goede};
1889800cfceSHans de Goede
1899800cfceSHans de Goede&reg_usb2_vbus {
1909800cfceSHans de Goede	status = "okay";
1919800cfceSHans de Goede};
1929800cfceSHans de Goede
1939800cfceSHans de Goede&uart0 {
1949800cfceSHans de Goede	pinctrl-names = "default";
1959800cfceSHans de Goede	pinctrl-0 = <&uart0_pins_a>;
1969800cfceSHans de Goede	status = "okay";
1979800cfceSHans de Goede};
1989800cfceSHans de Goede
19980e5f83cSHans de Goede&usb_otg {
20080e5f83cSHans de Goede	dr_mode = "host";
20180e5f83cSHans de Goede	status = "okay";
20280e5f83cSHans de Goede};
20380e5f83cSHans de Goede
2049800cfceSHans de Goede&usbphy {
20580e5f83cSHans de Goede	usb0_vbus-supply = <&reg_usb0_vbus>;
2069800cfceSHans de Goede	usb1_vbus-supply = <&reg_usb1_vbus>;
2079800cfceSHans de Goede	usb2_vbus-supply = <&reg_usb2_vbus>;
2089800cfceSHans de Goede	status = "okay";
2099800cfceSHans de Goede};
210