xref: /linux/arch/arm64/boot/dts/amlogic/meson-gxm-tx9-pro.dts (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1*af94dc56SChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*af94dc56SChristian Hewitt/*
3*af94dc56SChristian Hewitt * Copyright (c) 2016 Endless Computers, Inc.
4*af94dc56SChristian Hewitt * Author: Carlo Caione <carlo@endlessm.com>
5*af94dc56SChristian Hewitt */
6*af94dc56SChristian Hewitt
7*af94dc56SChristian Hewitt/dts-v1/;
8*af94dc56SChristian Hewitt
9*af94dc56SChristian Hewitt#include "meson-gxm.dtsi"
10*af94dc56SChristian Hewitt#include "meson-gx-p23x-q20x.dtsi"
11*af94dc56SChristian Hewitt#include <dt-bindings/input/input.h>
12*af94dc56SChristian Hewitt
13*af94dc56SChristian Hewitt/ {
14*af94dc56SChristian Hewitt	compatible = "oranth,tx9-pro", "amlogic,s912", "amlogic,meson-gxm";
15*af94dc56SChristian Hewitt	model = "Tanix TX9 Pro";
16*af94dc56SChristian Hewitt
17*af94dc56SChristian Hewitt	adc-keys {
18*af94dc56SChristian Hewitt		compatible = "adc-keys";
19*af94dc56SChristian Hewitt		io-channels = <&saradc 0>;
20*af94dc56SChristian Hewitt		io-channel-names = "buttons";
21*af94dc56SChristian Hewitt		keyup-threshold-microvolt = <1710000>;
22*af94dc56SChristian Hewitt
23*af94dc56SChristian Hewitt		button-function {
24*af94dc56SChristian Hewitt			label = "Update";
25*af94dc56SChristian Hewitt			linux,code = <KEY_VENDOR>;
26*af94dc56SChristian Hewitt			press-threshold-microvolt = <10000>;
27*af94dc56SChristian Hewitt		};
28*af94dc56SChristian Hewitt	};
29*af94dc56SChristian Hewitt
30*af94dc56SChristian Hewitt	gpio-keys-polled {
31*af94dc56SChristian Hewitt		compatible = "gpio-keys-polled";
32*af94dc56SChristian Hewitt		poll-interval = <100>;
33*af94dc56SChristian Hewitt
34*af94dc56SChristian Hewitt		button {
35*af94dc56SChristian Hewitt			label = "power";
36*af94dc56SChristian Hewitt			linux,code = <KEY_POWER>;
37*af94dc56SChristian Hewitt			gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
38*af94dc56SChristian Hewitt		};
39*af94dc56SChristian Hewitt	};
40*af94dc56SChristian Hewitt};
41*af94dc56SChristian Hewitt
42*af94dc56SChristian Hewitt&ethmac {
43*af94dc56SChristian Hewitt	pinctrl-0 = <&eth_pins>;
44*af94dc56SChristian Hewitt	pinctrl-names = "default";
45*af94dc56SChristian Hewitt	phy-handle = <&external_phy>;
46*af94dc56SChristian Hewitt	amlogic,tx-delay-ns = <2>;
47*af94dc56SChristian Hewitt	phy-mode = "rgmii";
48*af94dc56SChristian Hewitt};
49*af94dc56SChristian Hewitt
50*af94dc56SChristian Hewitt&external_mdio {
51*af94dc56SChristian Hewitt	external_phy: ethernet-phy@0 {
52*af94dc56SChristian Hewitt		/* Realtek RTL8211F (0x001cc916) */
53*af94dc56SChristian Hewitt		reg = <0>;
54*af94dc56SChristian Hewitt		max-speed = <1000>;
55*af94dc56SChristian Hewitt
56*af94dc56SChristian Hewitt		reset-assert-us = <10000>;
57*af94dc56SChristian Hewitt		reset-deassert-us = <80000>;
58*af94dc56SChristian Hewitt		reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
59*af94dc56SChristian Hewitt
60*af94dc56SChristian Hewitt		interrupt-parent = <&gpio_intc>;
61*af94dc56SChristian Hewitt		/* MAC_INTR on GPIOZ_15 */
62*af94dc56SChristian Hewitt		interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
63*af94dc56SChristian Hewitt	};
64*af94dc56SChristian Hewitt};
65*af94dc56SChristian Hewitt
66*af94dc56SChristian Hewitt&ir {
67*af94dc56SChristian Hewitt	linux,rc-map-name = "rc-tanix-tx3mini";
68*af94dc56SChristian Hewitt};
69*af94dc56SChristian Hewitt
70*af94dc56SChristian Hewitt&sd_emmc_a {
71*af94dc56SChristian Hewitt	brcmf: wifi@1 {
72*af94dc56SChristian Hewitt		reg = <1>;
73*af94dc56SChristian Hewitt		compatible = "brcm,bcm4329-fmac";
74*af94dc56SChristian Hewitt	};
75*af94dc56SChristian Hewitt};
76*af94dc56SChristian Hewitt
77*af94dc56SChristian Hewitt&uart_A {
78*af94dc56SChristian Hewitt	status = "okay";
79*af94dc56SChristian Hewitt	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
80*af94dc56SChristian Hewitt	pinctrl-names = "default";
81*af94dc56SChristian Hewitt	uart-has-rtscts;
82*af94dc56SChristian Hewitt
83*af94dc56SChristian Hewitt	bluetooth {
84*af94dc56SChristian Hewitt		compatible = "brcm,bcm43438-bt";
85*af94dc56SChristian Hewitt		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
86*af94dc56SChristian Hewitt		max-speed = <2000000>;
87*af94dc56SChristian Hewitt		clocks = <&wifi32k>;
88*af94dc56SChristian Hewitt		clock-names = "lpo";
89*af94dc56SChristian Hewitt	};
90*af94dc56SChristian Hewitt};
91