1/* 2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Author: Carlo Caione <carlo@endlessm.com> 4 * 5 * This file is dual-licensed: you can use it either under the terms 6 * of the GPL or the X11 license, at your option. Note that this dual 7 * licensing only applies to this file, and not this project as a 8 * whole. 9 * 10 * a) This library is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License as 12 * published by the Free Software Foundation; either version 2 of the 13 * License, or (at your option) any later version. 14 * 15 * This library is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * Or, alternatively, 21 * 22 * b) Permission is hereby granted, free of charge, to any person 23 * obtaining a copy of this software and associated documentation 24 * files (the "Software"), to deal in the Software without 25 * restriction, including without limitation the rights to use, 26 * copy, modify, merge, publish, distribute, sublicense, and/or 27 * sell copies of the Software, and to permit persons to whom the 28 * Software is furnished to do so, subject to the following 29 * conditions: 30 * 31 * The above copyright notice and this permission notice shall be 32 * included in all copies or substantial portions of the Software. 33 * 34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 * OTHER DEALINGS IN THE SOFTWARE. 42 */ 43 44/dts-v1/; 45 46#include <dt-bindings/input/input.h> 47 48#include "meson-gxl-s905d.dtsi" 49#include "meson-gx-p23x-q20x.dtsi" 50 51/ { 52 compatible = "amlogic,p230", "amlogic,s905d", "amlogic,meson-gxl"; 53 model = "Amlogic Meson GXL (S905D) P230 Development Board"; 54 55 adc-keys { 56 compatible = "adc-keys"; 57 io-channels = <&saradc 0>; 58 io-channel-names = "buttons"; 59 keyup-threshold-microvolt = <1710000>; 60 61 button-function { 62 label = "Update"; 63 linux,code = <KEY_VENDOR>; 64 press-threshold-microvolt = <10000>; 65 }; 66 }; 67 68 gpio-keys-polled { 69 compatible = "gpio-keys-polled"; 70 #address-cells = <1>; 71 #size-cells = <0>; 72 poll-interval = <100>; 73 74 button@0 { 75 label = "power"; 76 linux,code = <KEY_POWER>; 77 gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 78 }; 79 }; 80 81 vddio_ao18: regulator-vddio_ao18 { 82 compatible = "regulator-fixed"; 83 regulator-name = "VDDIO_AO18"; 84 regulator-min-microvolt = <1800000>; 85 regulator-max-microvolt = <1800000>; 86 }; 87 88 hdmi-connector { 89 compatible = "hdmi-connector"; 90 type = "a"; 91 92 port { 93 hdmi_connector_in: endpoint { 94 remote-endpoint = <&hdmi_tx_tmds_out>; 95 }; 96 }; 97 }; 98}; 99 100&cec_AO { 101 status = "okay"; 102 pinctrl-0 = <&ao_cec_pins>; 103 pinctrl-names = "default"; 104 hdmi-phandle = <&hdmi_tx>; 105}; 106 107/* P230 has exclusive choice between internal or external PHY */ 108ðmac { 109 pinctrl-0 = <ð_pins>; 110 pinctrl-names = "default"; 111 112 /* Select external PHY by default */ 113 phy-handle = <&external_phy>; 114 115 amlogic,tx-delay-ns = <2>; 116 117 /* External PHY reset is shared with internal PHY Led signals */ 118 snps,reset-gpio = <&gpio GPIOZ_14 0>; 119 snps,reset-delays-us = <0 10000 1000000>; 120 snps,reset-active-low; 121 122 /* External PHY is in RGMII */ 123 phy-mode = "rgmii"; 124}; 125 126&external_mdio { 127 external_phy: ethernet-phy@0 { 128 compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22"; 129 reg = <0>; 130 max-speed = <1000>; 131 interrupt-parent = <&gpio_intc>; 132 interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 133 }; 134}; 135 136&hdmi_tx { 137 status = "okay"; 138 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 139 pinctrl-names = "default"; 140}; 141 142&hdmi_tx_tmds_port { 143 hdmi_tx_tmds_out: endpoint { 144 remote-endpoint = <&hdmi_connector_in>; 145 }; 146}; 147 148&saradc { 149 status = "okay"; 150 vref-supply = <&vddio_ao18>; 151}; 152