sun50i-a64-pinebook.dts revision 1.9
11.9Sjmcneill/* $NetBSD: sun50i-a64-pinebook.dts,v 1.9 2018/05/10 00:05:01 jmcneill Exp $ */
21.1Sjmcneill
31.1Sjmcneill/*-
41.1Sjmcneill * Copyright (c) 2017 Jared McNeill <jmcneill@invisible.ca>
51.1Sjmcneill * All rights reserved.
61.1Sjmcneill *
71.1Sjmcneill * Redistribution and use in source and binary forms, with or without
81.1Sjmcneill * modification, are permitted provided that the following conditions
91.1Sjmcneill * are met:
101.1Sjmcneill * 1. Redistributions of source code must retain the above copyright
111.1Sjmcneill *    notice, this list of conditions and the following disclaimer.
121.1Sjmcneill * 2. Redistributions in binary form must reproduce the above copyright
131.1Sjmcneill *    notice, this list of conditions and the following disclaimer in the
141.1Sjmcneill *    documentation and/or other materials provided with the distribution.
151.1Sjmcneill *
161.1Sjmcneill * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
171.1Sjmcneill * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
181.1Sjmcneill * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
191.1Sjmcneill * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
201.1Sjmcneill * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
211.1Sjmcneill * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
221.1Sjmcneill * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
231.1Sjmcneill * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
241.1Sjmcneill * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
251.1Sjmcneill * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
261.1Sjmcneill * SUCH DAMAGE.
271.1Sjmcneill */
281.1Sjmcneill
291.5Sjmcneill/dts-v1/;
301.5Sjmcneill
311.5Sjmcneill#include "../../../external/gpl2/dts/dist/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi"
321.1Sjmcneill#include "sun50i-a64.dtsi"
331.1Sjmcneill
341.5Sjmcneill#include <dt-bindings/gpio/gpio.h>
351.4Sjmcneill#include <dt-bindings/input/linux-event-codes.h>
361.5Sjmcneill#include <dt-bindings/interrupt-controller/irq.h>
371.8Sjmcneill#include <dt-bindings/pwm/pwm.h>
381.4Sjmcneill
391.2Sjmcneill/ {
401.2Sjmcneill	model = "Pine64 Pinebook";
411.2Sjmcneill	compatible = "pine64,pinebook", "allwinner,sun50i-a64";
421.3Sjmcneill
431.5Sjmcneill	aliases {
441.5Sjmcneill		serial0 = &uart0;
451.5Sjmcneill	};
461.5Sjmcneill
471.3Sjmcneill	chosen {
481.5Sjmcneill		stdout-path = "serial0:115200n8";
491.5Sjmcneill
501.3Sjmcneill		framebuffer@0 {
511.3Sjmcneill			allwinner,pipeline = "mixer0-lcd0";
521.3Sjmcneill		};
531.3Sjmcneill	};
541.2Sjmcneill
551.4Sjmcneill	gpio_keys {
561.4Sjmcneill		compatible = "gpio-keys";
571.4Sjmcneill
581.4Sjmcneill		lid_switch {
591.4Sjmcneill			label = "Lid Switch";
601.4Sjmcneill			gpios = <&pio 7 10 GPIO_ACTIVE_LOW>;	/* PH10 */
611.4Sjmcneill			linux,input-type = <EV_SW>;
621.4Sjmcneill			linux,code = <SW_LID>;
631.4Sjmcneill			linux,can-disable;
641.4Sjmcneill		};
651.4Sjmcneill	};
661.5Sjmcneill
671.8Sjmcneill	backlight: backlight {
681.8Sjmcneill		compatible = "pwm-backlight";
691.8Sjmcneill		pwms = <&pwm 0 50000 0>;
701.8Sjmcneill		brightness-levels = <0 30 40 50 60 70 80 90 100>;
711.8Sjmcneill		default-brightness-level = <6>;
721.8Sjmcneill		enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>;	/* PD23 */
731.8Sjmcneill	};
741.8Sjmcneill
751.5Sjmcneill	reg_vcc3v3: vcc3v3 {
761.5Sjmcneill		regulator-fixed;
771.5Sjmcneill		regulator-name = "vcc3v3";
781.5Sjmcneill		regulator-min-microvolt = <3300000>;
791.5Sjmcneill		regulator-max-microvolt = <3300000>;
801.5Sjmcneill	};
811.5Sjmcneill};
821.5Sjmcneill
831.7Sjmcneill&ehci0 {
841.7Sjmcneill	status = "okay";
851.7Sjmcneill};
861.7Sjmcneill
871.5Sjmcneill&ehci1 {
881.5Sjmcneill	status = "okay";
891.5Sjmcneill};
901.5Sjmcneill
911.7Sjmcneill&ohci0 {
921.7Sjmcneill	status = "okay";
931.7Sjmcneill};
941.7Sjmcneill
951.5Sjmcneill&ohci1 {
961.5Sjmcneill	status = "okay";
971.5Sjmcneill};
981.5Sjmcneill
991.5Sjmcneill&usb_otg {
1001.5Sjmcneill	dr_mode = "host";
1011.5Sjmcneill	status = "okay";
1021.5Sjmcneill};
1031.5Sjmcneill
1041.5Sjmcneill&usbphy {
1051.5Sjmcneill	status = "okay";
1061.5Sjmcneill};
1071.5Sjmcneill
1081.5Sjmcneill&mmc0 {
1091.5Sjmcneill	pinctrl-names = "default";
1101.5Sjmcneill	pinctrl-0 = <&mmc0_pins>;
1111.5Sjmcneill	vmmc-supply = <&reg_vcc3v3>;
1121.5Sjmcneill	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
1131.5Sjmcneill	disable-wp;
1141.5Sjmcneill	bus-width = <4>;
1151.5Sjmcneill	status = "okay";
1161.1Sjmcneill};
1171.1Sjmcneill
1181.6Sjmcneill&mmc1 {
1191.6Sjmcneill	pinctrl-names = "default";
1201.6Sjmcneill	pinctrl-0 = <&mmc1_pins>;
1211.6Sjmcneill	vmmc-supply = <&reg_dldo4>;
1221.6Sjmcneill	vqmmc-supply = <&reg_eldo1>;
1231.6Sjmcneill	bus-width = <4>;
1241.6Sjmcneill	non-removable;
1251.6Sjmcneill	status = "okay";
1261.6Sjmcneill
1271.6Sjmcneill	rtl8723cs: wifi@1 {
1281.6Sjmcneill		reg = <1>;
1291.6Sjmcneill	};
1301.6Sjmcneill};
1311.6Sjmcneill
1321.4Sjmcneill&mmc2 {
1331.4Sjmcneill	pinctrl-names = "default";
1341.4Sjmcneill	pinctrl-0 = <&mmc2_pins>;
1351.4Sjmcneill	vmmc-supply = <&reg_dcdc1>;
1361.4Sjmcneill	bus-width = <8>;
1371.4Sjmcneill	non-removable;
1381.4Sjmcneill	cap-mmc-hw-reset;
1391.1Sjmcneill	status = "okay";
1401.1Sjmcneill};
1411.5Sjmcneill
1421.5Sjmcneill&uart0 {
1431.5Sjmcneill	pinctrl-names = "default";
1441.5Sjmcneill	pinctrl-0 = <&uart0_pins_a>;
1451.5Sjmcneill	status = "okay";
1461.5Sjmcneill};
1471.5Sjmcneill
1481.8Sjmcneill&pwm {
1491.8Sjmcneill	pinctrl-names = "default";
1501.8Sjmcneill	pinctrl-0 = <&pwm0_pins>;
1511.8Sjmcneill	status = "okay";
1521.8Sjmcneill};
1531.8Sjmcneill
1541.5Sjmcneill&r_rsb {
1551.5Sjmcneill	status = "okay";
1561.5Sjmcneill
1571.5Sjmcneill	axp803: pmic@3a3 {
1581.5Sjmcneill		compatible = "x-powers,axp803";
1591.5Sjmcneill		reg = <0x3a3>;
1601.5Sjmcneill		interrupt-parent = <&r_intc>;
1611.5Sjmcneill		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
1621.5Sjmcneill	};
1631.5Sjmcneill};
1641.5Sjmcneill
1651.5Sjmcneill#include "axp803.dtsi"
1661.9Sjmcneill
1671.9Sjmcneill&codec {
1681.9Sjmcneill	allwinner,pa-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>;	/* PH7 */
1691.9Sjmcneill	status = "okay";
1701.9Sjmcneill};
1711.9Sjmcneill
1721.9Sjmcneill&codec_analog {
1731.9Sjmcneill	status = "okay";
1741.9Sjmcneill};
1751.9Sjmcneill
1761.9Sjmcneill&dai {
1771.9Sjmcneill	status = "okay";
1781.9Sjmcneill};
1791.9Sjmcneill
1801.9Sjmcneill&sound {
1811.9Sjmcneill	status = "okay";
1821.9Sjmcneill};
183