1da47515eSNeil Armstrong/* 2da47515eSNeil Armstrong * Copyright (c) 2016 Endless Computers, Inc. 3da47515eSNeil Armstrong * Author: Carlo Caione <carlo@endlessm.com> 4da47515eSNeil Armstrong * 5da47515eSNeil Armstrong * This file is dual-licensed: you can use it either under the terms 6da47515eSNeil Armstrong * of the GPL or the X11 license, at your option. Note that this dual 7da47515eSNeil Armstrong * licensing only applies to this file, and not this project as a 8da47515eSNeil Armstrong * whole. 9da47515eSNeil Armstrong * 10da47515eSNeil Armstrong * a) This library is free software; you can redistribute it and/or 11da47515eSNeil Armstrong * modify it under the terms of the GNU General Public License as 12da47515eSNeil Armstrong * published by the Free Software Foundation; either version 2 of the 13da47515eSNeil Armstrong * License, or (at your option) any later version. 14da47515eSNeil Armstrong * 15da47515eSNeil Armstrong * This library is distributed in the hope that it will be useful, 16da47515eSNeil Armstrong * but WITHOUT ANY WARRANTY; without even the implied warranty of 17da47515eSNeil Armstrong * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18da47515eSNeil Armstrong * GNU General Public License for more details. 19da47515eSNeil Armstrong * 20da47515eSNeil Armstrong * Or, alternatively, 21da47515eSNeil Armstrong * 22da47515eSNeil Armstrong * b) Permission is hereby granted, free of charge, to any person 23da47515eSNeil Armstrong * obtaining a copy of this software and associated documentation 24da47515eSNeil Armstrong * files (the "Software"), to deal in the Software without 25da47515eSNeil Armstrong * restriction, including without limitation the rights to use, 26da47515eSNeil Armstrong * copy, modify, merge, publish, distribute, sublicense, and/or 27da47515eSNeil Armstrong * sell copies of the Software, and to permit persons to whom the 28da47515eSNeil Armstrong * Software is furnished to do so, subject to the following 29da47515eSNeil Armstrong * conditions: 30da47515eSNeil Armstrong * 31da47515eSNeil Armstrong * The above copyright notice and this permission notice shall be 32da47515eSNeil Armstrong * included in all copies or substantial portions of the Software. 33da47515eSNeil Armstrong * 34da47515eSNeil Armstrong * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35da47515eSNeil Armstrong * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36da47515eSNeil Armstrong * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37da47515eSNeil Armstrong * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38da47515eSNeil Armstrong * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39da47515eSNeil Armstrong * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40da47515eSNeil Armstrong * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41da47515eSNeil Armstrong * OTHER DEALINGS IN THE SOFTWARE. 42da47515eSNeil Armstrong */ 43da47515eSNeil Armstrong 44da47515eSNeil Armstrong/dts-v1/; 45da47515eSNeil Armstrong 4682838e6fSNeil Armstrong#include <dt-bindings/input/input.h> 4782838e6fSNeil Armstrong 48bb51b535SNeil Armstrong#include "meson-gxl-s905d.dtsi" 49bb51b535SNeil Armstrong#include "meson-gx-p23x-q20x.dtsi" 50da47515eSNeil Armstrong 51da47515eSNeil Armstrong/ { 52da47515eSNeil Armstrong compatible = "amlogic,p230", "amlogic,s905d", "amlogic,meson-gxl"; 53da47515eSNeil Armstrong model = "Amlogic Meson GXL (S905D) P230 Development Board"; 5482838e6fSNeil Armstrong 5582838e6fSNeil Armstrong adc-keys { 5682838e6fSNeil Armstrong compatible = "adc-keys"; 5782838e6fSNeil Armstrong io-channels = <&saradc 0>; 5882838e6fSNeil Armstrong io-channel-names = "buttons"; 5982838e6fSNeil Armstrong keyup-threshold-microvolt = <1710000>; 6082838e6fSNeil Armstrong 6182838e6fSNeil Armstrong button-function { 6282838e6fSNeil Armstrong label = "Update"; 6382838e6fSNeil Armstrong linux,code = <KEY_VENDOR>; 6482838e6fSNeil Armstrong press-threshold-microvolt = <10000>; 6582838e6fSNeil Armstrong }; 6682838e6fSNeil Armstrong }; 6782838e6fSNeil Armstrong 6882838e6fSNeil Armstrong gpio-keys-polled { 6982838e6fSNeil Armstrong compatible = "gpio-keys-polled"; 7082838e6fSNeil Armstrong #address-cells = <1>; 7182838e6fSNeil Armstrong #size-cells = <0>; 7282838e6fSNeil Armstrong poll-interval = <100>; 7382838e6fSNeil Armstrong 7482838e6fSNeil Armstrong button@0 { 7582838e6fSNeil Armstrong label = "power"; 7682838e6fSNeil Armstrong linux,code = <KEY_POWER>; 7782838e6fSNeil Armstrong gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 7882838e6fSNeil Armstrong }; 7982838e6fSNeil Armstrong }; 8082838e6fSNeil Armstrong 8182838e6fSNeil Armstrong vddio_ao18: regulator-vddio_ao18 { 8282838e6fSNeil Armstrong compatible = "regulator-fixed"; 8382838e6fSNeil Armstrong regulator-name = "VDDIO_AO18"; 8482838e6fSNeil Armstrong regulator-min-microvolt = <1800000>; 8582838e6fSNeil Armstrong regulator-max-microvolt = <1800000>; 8682838e6fSNeil Armstrong }; 875838a4d0SNeil Armstrong 885838a4d0SNeil Armstrong hdmi-connector { 895838a4d0SNeil Armstrong compatible = "hdmi-connector"; 905838a4d0SNeil Armstrong type = "a"; 915838a4d0SNeil Armstrong 925838a4d0SNeil Armstrong port { 935838a4d0SNeil Armstrong hdmi_connector_in: endpoint { 945838a4d0SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 955838a4d0SNeil Armstrong }; 965838a4d0SNeil Armstrong }; 975838a4d0SNeil Armstrong }; 98da47515eSNeil Armstrong}; 9973a5d99fSNeil Armstrong 100b16c71c9SNeil Armstrong&cec_AO { 101b16c71c9SNeil Armstrong status = "okay"; 102b16c71c9SNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 103b16c71c9SNeil Armstrong pinctrl-names = "default"; 104b16c71c9SNeil Armstrong hdmi-phandle = <&hdmi_tx>; 105b16c71c9SNeil Armstrong}; 106b16c71c9SNeil Armstrong 10773a5d99fSNeil Armstrong/* P230 has exclusive choice between internal or external PHY */ 10873a5d99fSNeil Armstrongðmac { 10973a5d99fSNeil Armstrong pinctrl-0 = <ð_pins>; 11073a5d99fSNeil Armstrong pinctrl-names = "default"; 11173a5d99fSNeil Armstrong 11273a5d99fSNeil Armstrong /* Select external PHY by default */ 11373a5d99fSNeil Armstrong phy-handle = <&external_phy>; 11473a5d99fSNeil Armstrong 115093d23dbSMartin Blumenstingl amlogic,tx-delay-ns = <2>; 116093d23dbSMartin Blumenstingl 11773a5d99fSNeil Armstrong /* External PHY reset is shared with internal PHY Led signals */ 11873a5d99fSNeil Armstrong snps,reset-gpio = <&gpio GPIOZ_14 0>; 11973a5d99fSNeil Armstrong snps,reset-delays-us = <0 10000 1000000>; 12073a5d99fSNeil Armstrong snps,reset-active-low; 12173a5d99fSNeil Armstrong 12273a5d99fSNeil Armstrong /* External PHY is in RGMII */ 12373a5d99fSNeil Armstrong phy-mode = "rgmii"; 12473a5d99fSNeil Armstrong}; 12573a5d99fSNeil Armstrong 12673a5d99fSNeil Armstrong&external_mdio { 12773a5d99fSNeil Armstrong external_phy: ethernet-phy@0 { 12873a5d99fSNeil Armstrong compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22"; 12973a5d99fSNeil Armstrong reg = <0>; 13073a5d99fSNeil Armstrong max-speed = <1000>; 13173a5d99fSNeil Armstrong }; 13273a5d99fSNeil Armstrong}; 13382838e6fSNeil Armstrong 1345838a4d0SNeil Armstrong&hdmi_tx { 1355838a4d0SNeil Armstrong status = "okay"; 1365838a4d0SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 1375838a4d0SNeil Armstrong pinctrl-names = "default"; 1385838a4d0SNeil Armstrong}; 1395838a4d0SNeil Armstrong 1405838a4d0SNeil Armstrong&hdmi_tx_tmds_port { 1415838a4d0SNeil Armstrong hdmi_tx_tmds_out: endpoint { 1425838a4d0SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 1435838a4d0SNeil Armstrong }; 1445838a4d0SNeil Armstrong}; 1455838a4d0SNeil Armstrong 14682838e6fSNeil Armstrong&saradc { 14782838e6fSNeil Armstrong status = "okay"; 14882838e6fSNeil Armstrong vref-supply = <&vddio_ao18>; 14982838e6fSNeil Armstrong}; 150