blob: bfac00e76ba3e4ee303e48d7ad0bae1c66276172 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2016 Andreas Färber
4 * Copyright (c) 2016 BayLibre, Inc.
5 * Author: Kevin Hilman <khilman@kernel.org>
6 */
7
8/dts-v1/;
9
10#include "meson-gxbb-p20x.dtsi"
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/sound/meson-aiu.h>
13
14/ {
15 compatible = "amlogic,p200", "amlogic,meson-gxbb";
16 model = "Amlogic Meson GXBB P200 Development Board";
17
18 spdif_dit: audio-codec-0 {
19 #sound-dai-cells = <0>;
20 compatible = "linux,spdif-dit";
Tom Rini53633a82024-02-29 12:33:36 -050021 sound-name-prefix = "DIT";
22 };
23
Tom Rini6bb92fc2024-05-20 09:54:58 -060024 avdd18_usb_adc: regulator-avdd18-usb-adc {
Tom Rini53633a82024-02-29 12:33:36 -050025 compatible = "regulator-fixed";
26 regulator-name = "AVDD18_USB_ADC";
27 regulator-min-microvolt = <1800000>;
28 regulator-max-microvolt = <1800000>;
29 };
30
Tom Rini6bb92fc2024-05-20 09:54:58 -060031 keys {
Tom Rini53633a82024-02-29 12:33:36 -050032 compatible = "adc-keys";
33 io-channels = <&saradc 0>;
34 io-channel-names = "buttons";
35 keyup-threshold-microvolt = <1800000>;
36
37 button-home {
38 label = "Home";
39 linux,code = <KEY_HOME>;
40 press-threshold-microvolt = <900000>; /* 50% */
41 };
42
43 button-esc {
44 label = "Esc";
45 linux,code = <KEY_ESC>;
46 press-threshold-microvolt = <684000>; /* 38% */
47 };
48
49 button-up {
50 label = "Volume Up";
51 linux,code = <KEY_VOLUMEUP>;
52 press-threshold-microvolt = <468000>; /* 26% */
53 };
54
55 button-down {
56 label = "Volume Down";
57 linux,code = <KEY_VOLUMEDOWN>;
58 press-threshold-microvolt = <252000>; /* 14% */
59 };
60
61 button-menu {
62 label = "Menu";
63 linux,code = <KEY_MENU>;
64 press-threshold-microvolt = <0>; /* 0% */
65 };
66 };
67
68 sound {
69 compatible = "amlogic,gx-sound-card";
70 model = "P200";
Tom Rini9c8af152024-12-24 12:03:04 -060071 clocks = <&clkc CLKID_MPLL0>,
72 <&clkc CLKID_MPLL1>,
73 <&clkc CLKID_MPLL2>;
74
Tom Rini53633a82024-02-29 12:33:36 -050075 assigned-clocks = <&clkc CLKID_MPLL0>,
76 <&clkc CLKID_MPLL1>,
77 <&clkc CLKID_MPLL2>;
78 assigned-clock-parents = <0>, <0>, <0>;
79 assigned-clock-rates = <294912000>,
80 <270950400>,
81 <393216000>;
82
83 dai-link-0 {
84 sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
85 };
86
87 dai-link-1 {
88 sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
89 };
90
91 dai-link-2 {
92 sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
93 dai-format = "i2s";
94 mclk-fs = <256>;
95
96 codec-0 {
97 sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
98 };
99 };
100
101 dai-link-3 {
102 sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
103
104 codec-0 {
105 sound-dai = <&spdif_dit>;
106 };
107 };
108
109 dai-link-4 {
110 sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
111
112 codec-0 {
113 sound-dai = <&hdmi_tx>;
114 };
115 };
116 };
117};
118
119&aiu {
120 status = "okay";
121 pinctrl-0 = <&spdif_out_y_pins>;
122 pinctrl-names = "default";
123};
124
125&ethmac {
126 status = "okay";
127 pinctrl-0 = <&eth_rgmii_pins>;
128 pinctrl-names = "default";
129 phy-handle = <&eth_phy0>;
130 phy-mode = "rgmii";
131
132 amlogic,tx-delay-ns = <2>;
133
134 mdio {
135 compatible = "snps,dwmac-mdio";
136 #address-cells = <1>;
137 #size-cells = <0>;
138
139 eth_phy0: ethernet-phy@3 {
140 /* Micrel KSZ9031 (0x00221620) */
141 reg = <3>;
142
143 reset-assert-us = <10000>;
144 reset-deassert-us = <30000>;
145 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
146
147 interrupt-parent = <&gpio_intc>;
148 /* MAC_INTR on GPIOZ_15 */
149 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
150 };
151 };
152};
153
154&i2c_B {
155 status = "okay";
156 pinctrl-0 = <&i2c_b_pins>;
157 pinctrl-names = "default";
158};
159
160&saradc {
161 status = "okay";
162 vref-supply = <&avdd18_usb_adc>;
163};