sun50i-a64-pinebook.dts revision 1.17
11.17Sjmcneill/* $NetBSD: sun50i-a64-pinebook.dts,v 1.17 2019/11/24 02:06:16 jmcneill Exp $ */ 21.1Sjmcneill 31.1Sjmcneill/*- 41.14Sjmcneill * Copyright (c) 2017-2019 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.14Sjmcneill#include "../../../external/gpl2/dts/dist/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts" 301.1Sjmcneill#include "sun50i-a64.dtsi" 311.1Sjmcneill 321.5Sjmcneill#include <dt-bindings/gpio/gpio.h> 331.4Sjmcneill#include <dt-bindings/input/linux-event-codes.h> 341.5Sjmcneill#include <dt-bindings/interrupt-controller/irq.h> 351.8Sjmcneill#include <dt-bindings/pwm/pwm.h> 361.4Sjmcneill 371.2Sjmcneill/ { 381.3Sjmcneill chosen { 391.3Sjmcneill framebuffer@0 { 401.3Sjmcneill allwinner,pipeline = "mixer0-lcd0"; 411.3Sjmcneill }; 421.3Sjmcneill }; 431.2Sjmcneill 441.4Sjmcneill gpio_keys { 451.4Sjmcneill lid_switch { 461.14Sjmcneill /* 471.14Sjmcneill * This is listed as PL12 in 4.20.3 sources, but 481.14Sjmcneill * we have used PH10 all along. 491.14Sjmcneill */ 501.4Sjmcneill gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */ 511.4Sjmcneill }; 521.4Sjmcneill }; 531.5Sjmcneill 541.10Sjmcneill sound_spdif { 551.10Sjmcneill status = "disabled"; 561.10Sjmcneill }; 571.17Sjmcneill 581.17Sjmcneill hdmi-connector { 591.17Sjmcneill compatible = "hdmi-connector"; 601.17Sjmcneill type = "c"; 611.17Sjmcneill 621.17Sjmcneill port { 631.17Sjmcneill hdmi_con_in: endpoint { 641.17Sjmcneill remote-endpoint = <&hdmi_out_con>; 651.17Sjmcneill }; 661.17Sjmcneill }; 671.17Sjmcneill }; 681.10Sjmcneill}; 691.10Sjmcneill 701.11Sjmcneill&cpu0 { 711.11Sjmcneill cpu-supply = <®_dcdc2>; 721.11Sjmcneill operating-points = < 731.11Sjmcneill /* kHz uV */ 741.11Sjmcneill 1152000 1300000 751.11Sjmcneill 1104000 1260000 761.11Sjmcneill 1008000 1200000 771.11Sjmcneill 816000 1080000 781.11Sjmcneill 648000 1040000 791.11Sjmcneill 408000 1000000 801.11Sjmcneill >; 811.11Sjmcneill}; 821.11Sjmcneill 831.10Sjmcneill&spdif_out { 841.10Sjmcneill status = "disabled"; 851.5Sjmcneill}; 861.5Sjmcneill 871.13Smrg&uart1 { 881.13Smrg pinctrl-names = "default"; 891.13Smrg pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; 901.13Smrg status = "okay"; 911.13Smrg bluetooth { 921.13Smrg compatible = "realtek,rtl8723cs-bt"; 931.13Smrg reset-gpios = <&r_pio 0 4 GPIO_ACTIVE_LOW>; /* PL4 */ 941.13Smrg device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */ 951.13Smrg host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ 961.13Smrg firmware-postfix = "pinebook"; 971.13Smrg }; 981.13Smrg}; 991.13Smrg 1001.9Sjmcneill&codec { 1011.9Sjmcneill allwinner,pa-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ 1021.9Sjmcneill status = "okay"; 1031.9Sjmcneill}; 1041.9Sjmcneill 1051.15Sjmcneill&de { 1061.15Sjmcneill status = "okay"; 1071.15Sjmcneill}; 1081.15Sjmcneill 1091.15Sjmcneill&mixer0 { 1101.15Sjmcneill status = "okay"; 1111.15Sjmcneill}; 1121.15Sjmcneill 1131.15Sjmcneill&pio { 1141.15Sjmcneill lcd_rgb666_pins: lcd-rgb666 { 1151.15Sjmcneill pins = "PD0", "PD1", "PD2", "PD3", "PD4", 1161.15Sjmcneill "PD5", "PD6", "PD7", "PD8", "PD9", 1171.15Sjmcneill "PD10", "PD11", "PD12", "PD13", 1181.15Sjmcneill "PD14", "PD15", "PD16", "PD17", 1191.15Sjmcneill "PD18", "PD19", "PD20", "PD21"; 1201.15Sjmcneill function = "lcd0"; 1211.15Sjmcneill }; 1221.15Sjmcneill}; 1231.15Sjmcneill 1241.15Sjmcneill&tcon0 { 1251.15Sjmcneill pinctrl-names = "default"; 1261.15Sjmcneill pinctrl-0 = <&lcd_rgb666_pins>; 1271.15Sjmcneill 1281.15Sjmcneill status = "okay"; 1291.15Sjmcneill}; 1301.15Sjmcneill 1311.15Sjmcneill&tcon0_out { 1321.15Sjmcneill tcon0_out_anx6345: endpoint@0 { 1331.15Sjmcneill reg = <0>; 1341.15Sjmcneill remote-endpoint = <&anx6345_in>; 1351.15Sjmcneill }; 1361.15Sjmcneill}; 1371.15Sjmcneill 1381.15Sjmcneill&r_pio { 1391.15Sjmcneill r_i2c_pins_a: i2c-a { 1401.15Sjmcneill pins = "PL8", "PL9"; 1411.15Sjmcneill function = "s_i2c"; 1421.15Sjmcneill }; 1431.15Sjmcneill}; 1441.15Sjmcneill 1451.15Sjmcneill&r_i2c { 1461.15Sjmcneill pinctrl-names = "default"; 1471.15Sjmcneill pinctrl-0 = <&r_i2c_pins_a>; 1481.15Sjmcneill status = "okay"; 1491.15Sjmcneill 1501.15Sjmcneill anx6345: anx6345@38 { 1511.15Sjmcneill compatible = "analogix,anx6345"; 1521.15Sjmcneill reg = <0x38>; 1531.15Sjmcneill reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */ 1541.15Sjmcneill panel-supply = <®_dc1sw>; 1551.15Sjmcneill dvdd25-supply = <®_dldo2>; 1561.15Sjmcneill dvdd12-supply = <®_fldo1>; 1571.15Sjmcneill 1581.15Sjmcneill port { 1591.15Sjmcneill anx6345_in: endpoint { 1601.15Sjmcneill remote-endpoint = <&tcon0_out_anx6345>; 1611.15Sjmcneill }; 1621.15Sjmcneill }; 1631.15Sjmcneill }; 1641.15Sjmcneill}; 1651.17Sjmcneill 1661.17Sjmcneill®_dldo1 { 1671.17Sjmcneill regulator-min-microvolt = <3300000>; 1681.17Sjmcneill regulator-max-microvolt = <3300000>; 1691.17Sjmcneill regulator-name = "vcc-hdmi"; 1701.17Sjmcneill}; 1711.17Sjmcneill 1721.17Sjmcneill&hdmi { 1731.17Sjmcneill hvcc-supply = <®_dldo1>; 1741.17Sjmcneill status = "okay"; 1751.17Sjmcneill}; 1761.17Sjmcneill 1771.17Sjmcneill&hdmi_out { 1781.17Sjmcneill hdmi_out_con: endpoint { 1791.17Sjmcneill remote-endpoint = <&hdmi_con_in>; 1801.17Sjmcneill }; 1811.17Sjmcneill}; 1821.17Sjmcneill 1831.17Sjmcneill&i2s2 { 1841.17Sjmcneill status = "okay"; 1851.17Sjmcneill}; 1861.17Sjmcneill 1871.17Sjmcneill&sound_hdmi { 1881.17Sjmcneill status = "okay"; 1891.17Sjmcneill}; 190