1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2022 - 2023 PHYTEC Messtechnik GmbH
4 * Author: Wadim Egorov <w.egorov@phytec.de>
7 * https://www.phytec.com/product/phyboard-am62x
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
12 #include <dt-bindings/leds/common.h>
13 #include <dt-bindings/net/ti-dp83867.h>
14 #include "k3-am625.dtsi"
15 #include "k3-am62-phycore-som.dtsi"
18 compatible = "phytec,am625-phyboard-lyra-rdk",
19 "phytec,am62-phycore-som", "ti,am625";
20 model = "PHYTEC phyBOARD-Lyra AM625";
23 serial2 = &main_uart0;
24 serial3 = &main_uart1;
28 ethernet1 = &cpsw_port2;
32 compatible = "ti,tcan1042";
34 max-bitrate = <5000000>;
35 standby-gpios = <&gpio_exp 1 GPIO_ACTIVE_HIGH>;
39 compatible = "gpio-keys";
41 pinctrl-names = "default";
42 pinctrl-0 = <&gpio_keys_pins_default>;
46 linux,code = <KEY_HOME>;
47 gpios = <&main_gpio1 23 GPIO_ACTIVE_HIGH>;
52 linux,code = <KEY_MENU>;
53 gpios = <&gpio_exp 4 GPIO_ACTIVE_HIGH>;
58 compatible = "gpio-leds";
59 pinctrl-names = "default";
60 pinctrl-0 = <&leds_pins_default>, <&user_leds_pins_default>;
63 gpios = <&main_gpio0 32 GPIO_ACTIVE_HIGH>;
64 linux,default-trigger = "mmc0";
68 gpios = <&gpio_exp 2 GPIO_ACTIVE_HIGH>;
69 linux,default-trigger = "mmc1";
73 vcc_3v3_mmc: regulator-vcc-3v3-mmc {
74 compatible = "regulator-fixed";
75 regulator-name = "VCC_3V3_MMC";
76 regulator-min-microvolt = <3300000>;
77 regulator-max-microvolt = <3300000>;
84 gpio_keys_pins_default: gpio-keys-default-pins {
85 pinctrl-single,pins = <
86 AM62X_IOPAD(0x1d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
90 gpio_exp_int_pins_default: gpio-exp-int-default-pins {
91 pinctrl-single,pins = <
92 AM62X_IOPAD(0x244, PIN_INPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */
96 main_i2c1_pins_default: main-i2c1-default-pins {
97 pinctrl-single,pins = <
98 AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */
99 AM62X_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */
103 main_mcan0_pins_default: main-mcan0-default-pins {
104 pinctrl-single,pins = <
105 AM62X_IOPAD(0x1dc, PIN_INPUT, 0) /* (E15) MCAN0_RX */
106 AM62X_IOPAD(0x1d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */
110 main_mmc1_pins_default: main-mmc1-default-pins {
111 pinctrl-single,pins = <
112 AM62X_IOPAD(0x23c, PIN_INPUT_PULLUP, 0) /* (A21) MMC1_CMD */
113 AM62X_IOPAD(0x234, PIN_INPUT_PULLDOWN, 0) /* (B22) MMC1_CLK */
114 AM62X_IOPAD(0x230, PIN_INPUT_PULLUP, 0) /* (A22) MMC1_DAT0 */
115 AM62X_IOPAD(0x22c, PIN_INPUT_PULLUP, 0) /* (B21) MMC1_DAT1 */
116 AM62X_IOPAD(0x228, PIN_INPUT_PULLUP, 0) /* (C21) MMC1_DAT2 */
117 AM62X_IOPAD(0x224, PIN_INPUT_PULLUP, 0) /* (D22) MMC1_DAT3 */
118 AM62X_IOPAD(0x240, PIN_INPUT_PULLUP, 0) /* (D17) MMC1_SDCD */
122 main_rgmii2_pins_default: main-rgmii2-default-pins {
123 pinctrl-single,pins = <
124 AM62X_IOPAD(0x184, PIN_INPUT, 0) /* (AE23) RGMII2_RD0 */
125 AM62X_IOPAD(0x188, PIN_INPUT, 0) /* (AB20) RGMII2_RD1 */
126 AM62X_IOPAD(0x18c, PIN_INPUT, 0) /* (AC21) RGMII2_RD2 */
127 AM62X_IOPAD(0x190, PIN_INPUT, 0) /* (AE22) RGMII2_RD3 */
128 AM62X_IOPAD(0x180, PIN_INPUT, 0) /* (AD23) RGMII2_RXC */
129 AM62X_IOPAD(0x17c, PIN_INPUT, 0) /* (AD22) RGMII2_RX_CTL */
130 AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /* (Y18) RGMII2_TD0 */
131 AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1 */
132 AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2 */
133 AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3 */
134 AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC */
135 AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */
139 main_uart0_pins_default: main-uart0-default-pins {
140 pinctrl-single,pins = <
141 AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */
142 AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */
146 main_uart1_pins_default: main-uart1-default-pins {
147 pinctrl-single,pins = <
148 AM62X_IOPAD(0x194, PIN_INPUT, 2) /* (B19) MCASP0_AXR3.UART1_CTSn */
149 AM62X_IOPAD(0x198, PIN_OUTPUT, 2) /* (A19) MCASP0_AXR2.UART1_RTSn */
150 AM62X_IOPAD(0x1ac, PIN_INPUT, 2) /* (E19) MCASP0_AFSR.UART1_RXD */
151 AM62X_IOPAD(0x1b0, PIN_OUTPUT, 2) /* (A20) MCASP0_ACLKR.UART1_TXD */
155 main_usb1_pins_default: main-usb1-default-pins {
156 pinctrl-single,pins = <
157 AM62X_IOPAD(0x258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */
161 user_leds_pins_default: user-leds-default-pins {
162 pinctrl-single,pins = <
163 AM62X_IOPAD(0x084, PIN_OUTPUT, 7) /* (L23) GPMC0_ADVn_ALE.GPIO0_32 */
169 pinctrl-names = "default";
170 pinctrl-0 = <&main_rgmii1_pins_default>, <&main_rgmii2_pins_default>;
174 phy-mode = "rgmii-rxid";
175 phy-handle = <&cpsw3g_phy3>;
179 cpsw3g_phy3: ethernet-phy@3 {
180 compatible = "ethernet-phy-id2000.a231", "ethernet-phy-ieee802.3-c22";
182 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
183 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
188 pinctrl-names = "default";
189 pinctrl-0 = <&main_i2c1_pins_default>;
190 clock-frequency = <400000>;
193 gpio_exp: gpio-expander@21 {
194 pinctrl-names = "default";
195 pinctrl-0 = <&gpio_exp_int_pins_default>;
196 compatible = "nxp,pcf8574";
198 interrupt-parent = <&main_gpio1>;
202 interrupt-controller;
203 #interrupt-cells = <2>;
204 gpio-line-names = "GPIO0_HDMI_RST", "GPIO1_CAN0_nEN",
205 "GPIO2_LED2", "GPIO3_LVDS_GPIO",
206 "GPIO4_BUT2", "GPIO5_LVDS_BKLT_EN",
207 "GPIO6_ETH1_USER_RESET", "GPIO7_AUDIO_USER_RESET";
211 compatible = "atmel,24c02";
218 pinctrl-names = "default";
219 pinctrl-0 = <&main_mcan0_pins_default>;
225 pinctrl-names = "default";
226 pinctrl-0 = <&main_uart0_pins_default>;
231 pinctrl-names = "default";
232 pinctrl-0 = <&main_uart1_pins_default>;
233 /* Main UART1 may be used by TIFS firmware */
238 vmmc-supply = <&vcc_3v3_mmc>;
239 vqmmc-supply = <&vddshv5_sdio>;
240 pinctrl-names = "default";
241 pinctrl-0 = <&main_mmc1_pins_default>;
242 ti,driver-strength-ohm = <50>;
259 dr_mode = "peripheral";
264 pinctrl-names = "default";
265 pinctrl-0 = <&main_usb1_pins_default>;