1ac40004dSKevin Hilman/*
2ac40004dSKevin Hilman * Copyright (c) 2016 Andreas Färber
3ac40004dSKevin Hilman * Copyright (c) 2016 BayLibre, Inc.
4ac40004dSKevin Hilman * Author: Kevin Hilman <khilman@kernel.org>
5ac40004dSKevin Hilman *
6ac40004dSKevin Hilman * This file is dual-licensed: you can use it either under the terms
7ac40004dSKevin Hilman * of the GPL or the X11 license, at your option. Note that this dual
8ac40004dSKevin Hilman * licensing only applies to this file, and not this project as a
9ac40004dSKevin Hilman * whole.
10ac40004dSKevin Hilman *
11ac40004dSKevin Hilman *  a) This library is free software; you can redistribute it and/or
12ac40004dSKevin Hilman *     modify it under the terms of the GNU General Public License as
13ac40004dSKevin Hilman *     published by the Free Software Foundation; either version 2 of the
14ac40004dSKevin Hilman *     License, or (at your option) any later version.
15ac40004dSKevin Hilman *
16ac40004dSKevin Hilman *     This library is distributed in the hope that it will be useful,
17ac40004dSKevin Hilman *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18ac40004dSKevin Hilman *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19ac40004dSKevin Hilman *     GNU General Public License for more details.
20ac40004dSKevin Hilman *
21ac40004dSKevin Hilman * Or, alternatively,
22ac40004dSKevin Hilman *
23ac40004dSKevin Hilman *  b) Permission is hereby granted, free of charge, to any person
24ac40004dSKevin Hilman *     obtaining a copy of this software and associated documentation
25ac40004dSKevin Hilman *     files (the "Software"), to deal in the Software without
26ac40004dSKevin Hilman *     restriction, including without limitation the rights to use,
27ac40004dSKevin Hilman *     copy, modify, merge, publish, distribute, sublicense, and/or
28ac40004dSKevin Hilman *     sell copies of the Software, and to permit persons to whom the
29ac40004dSKevin Hilman *     Software is furnished to do so, subject to the following
30ac40004dSKevin Hilman *     conditions:
31ac40004dSKevin Hilman *
32ac40004dSKevin Hilman *     The above copyright notice and this permission notice shall be
33ac40004dSKevin Hilman *     included in all copies or substantial portions of the Software.
34ac40004dSKevin Hilman *
35ac40004dSKevin Hilman *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36ac40004dSKevin Hilman *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37ac40004dSKevin Hilman *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38ac40004dSKevin Hilman *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39ac40004dSKevin Hilman *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40ac40004dSKevin Hilman *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41ac40004dSKevin Hilman *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42ac40004dSKevin Hilman *     OTHER DEALINGS IN THE SOFTWARE.
43ac40004dSKevin Hilman */
44ac40004dSKevin Hilman
45ac40004dSKevin Hilman/dts-v1/;
46ac40004dSKevin Hilman
47ac40004dSKevin Hilman#include "meson-gxbb-p20x.dtsi"
486b6a1867SNeil Armstrong#include <dt-bindings/input/input.h>
49ac40004dSKevin Hilman
50ac40004dSKevin Hilman/ {
51ac40004dSKevin Hilman	compatible = "amlogic,p200", "amlogic,meson-gxbb";
52ac40004dSKevin Hilman	model = "Amlogic Meson GXBB P200 Development Board";
536b6a1867SNeil Armstrong
546b6a1867SNeil Armstrong	avdd18_usb_adc: regulator-avdd18_usb_adc {
556b6a1867SNeil Armstrong		compatible = "regulator-fixed";
566b6a1867SNeil Armstrong		regulator-name = "AVDD18_USB_ADC";
576b6a1867SNeil Armstrong		regulator-min-microvolt = <1800000>;
586b6a1867SNeil Armstrong		regulator-max-microvolt = <1800000>;
596b6a1867SNeil Armstrong	};
606b6a1867SNeil Armstrong
616b6a1867SNeil Armstrong	adc_keys {
626b6a1867SNeil Armstrong		compatible = "adc-keys";
636b6a1867SNeil Armstrong		io-channels = <&saradc 0>;
646b6a1867SNeil Armstrong		io-channel-names = "buttons";
656b6a1867SNeil Armstrong		keyup-threshold-microvolt = <1800000>;
666b6a1867SNeil Armstrong
676b6a1867SNeil Armstrong		button-home {
686b6a1867SNeil Armstrong			label = "Home";
696b6a1867SNeil Armstrong			linux,code = <KEY_HOME>;
706b6a1867SNeil Armstrong			press-threshold-microvolt = <900000>; /* 50% */
716b6a1867SNeil Armstrong		};
726b6a1867SNeil Armstrong
736b6a1867SNeil Armstrong		button-esc {
746b6a1867SNeil Armstrong			label = "Esc";
756b6a1867SNeil Armstrong			linux,code = <KEY_ESC>;
766b6a1867SNeil Armstrong			press-threshold-microvolt = <684000>; /* 38% */
776b6a1867SNeil Armstrong		};
786b6a1867SNeil Armstrong
796b6a1867SNeil Armstrong		button-up {
806b6a1867SNeil Armstrong			label = "Volume Up";
816b6a1867SNeil Armstrong			linux,code = <KEY_VOLUMEUP>;
826b6a1867SNeil Armstrong			press-threshold-microvolt = <468000>; /* 26% */
836b6a1867SNeil Armstrong		};
846b6a1867SNeil Armstrong
856b6a1867SNeil Armstrong		button-down {
866b6a1867SNeil Armstrong			label = "Volume Down";
876b6a1867SNeil Armstrong			linux,code = <KEY_VOLUMEDOWN>;
886b6a1867SNeil Armstrong			press-threshold-microvolt = <252000>; /* 14% */
896b6a1867SNeil Armstrong		};
906b6a1867SNeil Armstrong
916b6a1867SNeil Armstrong		button-menu {
926b6a1867SNeil Armstrong			label = "Menu";
936b6a1867SNeil Armstrong			linux,code = <KEY_MENU>;
946b6a1867SNeil Armstrong			press-threshold-microvolt = <0>; /* 0% */
956b6a1867SNeil Armstrong		};
966b6a1867SNeil Armstrong	};
97ac40004dSKevin Hilman};
98cb700f49SJerome Brunet
992f739c17SMartin Blumenstingl&ethmac {
1002f739c17SMartin Blumenstingl	status = "okay";
1012f739c17SMartin Blumenstingl	pinctrl-0 = <&eth_rgmii_pins>;
1022f739c17SMartin Blumenstingl	pinctrl-names = "default";
1032f739c17SMartin Blumenstingl	phy-handle = <&eth_phy0>;
1042f739c17SMartin Blumenstingl	phy-mode = "rgmii";
1052f739c17SMartin Blumenstingl
106093d23dbSMartin Blumenstingl	amlogic,tx-delay-ns = <2>;
107093d23dbSMartin Blumenstingl
1082f739c17SMartin Blumenstingl	snps,reset-gpio = <&gpio GPIOZ_14 0>;
1092f739c17SMartin Blumenstingl	snps,reset-delays-us = <0 10000 1000000>;
1102f739c17SMartin Blumenstingl	snps,reset-active-low;
1112f739c17SMartin Blumenstingl
1122f739c17SMartin Blumenstingl	mdio {
1132f739c17SMartin Blumenstingl		compatible = "snps,dwmac-mdio";
1142f739c17SMartin Blumenstingl		#address-cells = <1>;
1152f739c17SMartin Blumenstingl		#size-cells = <0>;
1162f739c17SMartin Blumenstingl
1172f739c17SMartin Blumenstingl		eth_phy0: ethernet-phy@3 {
1182f739c17SMartin Blumenstingl			/* Micrel KSZ9031 (0x00221620) */
1192f739c17SMartin Blumenstingl			reg = <3>;
120b94d22d9SJerome Brunet			interrupt-parent = <&gpio_intc>;
121b94d22d9SJerome Brunet			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
1222f739c17SMartin Blumenstingl		};
1232f739c17SMartin Blumenstingl	};
1242f739c17SMartin Blumenstingl};
1252f739c17SMartin Blumenstingl
126cb700f49SJerome Brunet&i2c_B {
127cb700f49SJerome Brunet	status = "okay";
128cb700f49SJerome Brunet	pinctrl-0 = <&i2c_b_pins>;
129cb700f49SJerome Brunet	pinctrl-names = "default";
130cb700f49SJerome Brunet};
1316b6a1867SNeil Armstrong
1326b6a1867SNeil Armstrong&saradc {
1336b6a1867SNeil Armstrong	status = "okay";
1346b6a1867SNeil Armstrong	vref-supply = <&avdd18_usb_adc>;
1356b6a1867SNeil Armstrong};
136