blob: 1b22d3793dbc4ea924d1c70b09dfc81cfcaed706 [file] [log] [blame]
Bernhard Messerklingerf37594c2025-04-04 09:28:00 +02001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2024 B&R Industrial Automation GmbH
4 */
5
6/dts-v1/;
7/include/ "zynq-7000.dtsi"
8#include <dt-bindings/gpio/gpio.h>
9
10/ {
11 model = "BRCP150 CPU";
12 compatible = "br,cp150",
13 "xlnx,zynq-7000";
14
15 aliases {
16 i2c0 = &i2c0;
17 serial0 = &uart0;
18 spi0 = &qspi;
19 };
20
21 memory {
22 device_type = "memory";
23 reg = <0x0 0x20000000>;
24 };
25
26 chosen {
27 stdout-path = "serial0:115200n8";
28 };
29
30 usb_phy0: phy0 {
31 compatible = "usb-nop-xceiv";
32 #phy-cells = <0>;
33 };
34
35 brd_rst: board_reset {
36 compatible = "br,board-reset";
37 pin = <&gpio0 27 GPIO_ACTIVE_HIGH>;
38 };
39
40 /* Put this pin active high to enable RS232 debug serial */
41 rs232_en: rs232_enable {
42 compatible = "br,rs232-en";
43 pin = <&gpio0 52 GPIO_ACTIVE_HIGH>;
44 };
45
46 leds {
47 compatible = "gpio-leds";
48 re_green {
49 label = "R_E_GREEN";
50 gpios = <&ledgpio 0 GPIO_ACTIVE_HIGH>;
51 default-state = "off";
52 };
53 re_red {
54 label = "R_E_RED";
55 gpios = <&ledgpio 1 GPIO_ACTIVE_LOW>;
56 default-state = "off";
57 };
58 rdy_f_red {
59 label = "RDY_F_RED";
60 gpios = <&ledgpio 2 GPIO_ACTIVE_HIGH>;
61 default-state = "off";
62 };
63 rdy_f_yellow {
64 label = "RDY_F_YELLOW";
65 gpios = <&ledgpio 3 GPIO_ACTIVE_HIGH>;
66 default-state = "off";
67 };
68 se_green {
69 label = "S_E_GREEN";
70 gpios = <&ledgpio 4 GPIO_ACTIVE_HIGH>;
71 default-state = "off";
72 };
73 se_red {
74 label = "S_E_RED";
75 gpios = <&ledgpio 5 GPIO_ACTIVE_HIGH>;
76 default-state = "off";
77 };
78 plk_se_green {
79 label = "PLK_S_E_GREEN";
80 gpios = <&ledgpio 6 GPIO_ACTIVE_HIGH>;
81 default-state = "off";
82 };
83 eth_se_green {
84 label = "ETH_S_E_GREEN";
85 gpios = <&ledgpio 7 GPIO_ACTIVE_HIGH>;
86 default-state = "off";
87 };
88 user1_green {
89 label = "USER1_GREEN";
90 gpios = <&ledgpio 12 GPIO_ACTIVE_HIGH>;
91 default-state = "off";
92 };
93 user1_red {
94 label = "USER1_RED";
95 gpios = <&ledgpio 13 GPIO_ACTIVE_HIGH>;
96 default-state = "off";
97 };
98 user2_green {
99 label = "USER2_GREEN";
100 gpios = <&ledgpio 14 GPIO_ACTIVE_HIGH>;
101 default-state = "off";
102 };
103 user2_red {
104 label = "USER2_RED";
105 gpios = <&ledgpio 15 GPIO_ACTIVE_HIGH>;
106 default-state = "off";
107 };
108 };
109};
110
111&gem0 {
112 status = "okay";
113 phy-mode = "mii";
114 phy-handle = <&ethernet_phy>;
115
116 ethernet_phy: emio-phy@2 {
117 reg = <2>;
118 max-speed = <100>;
119 };
120};
121
122&i2c0 {
123 status = "okay";
124 clock-frequency = <100000>;
125
126 ledgpio: max7320@5d { /* board LED */
127 status = "okay";
128 compatible = "maxim,max7320";
129 reg = <0x5d>;
130 #gpio-cells = <2>;
131 gpio-controller;
132 ngpios = <16>;
133 };
134};
135
136&sdhci0 {
137 status = "okay";
138};
139
140&uart0 {
141 status = "okay";
142};
143
144&qspi {
145 status = "okay";
146 spi-max-frequency = <100000000>;
147
148 spi_flash: spiflash@0 {
149 #address-cells = <1>;
150 #size-cells = <1>;
151 compatible = "jedec,spi-nor", "spi-flash", "s25fl256s1";
152 spi-max-frequency = <100000000>;
153 spi-cpol;
154 spi-cpha;
155 reg = <0>;
156 };
157};
158
159&usb0 {
160 status = "okay";
161 dr_mode = "host";
162 usb-phy = <&usb_phy0>;
163};
164
165&gpio0 {
166 status = "okay";
167};
168
169/* Since the gem0 clock is configured EMIO this dummy entry is needed */
170&clkc {
171 clocks = <&clkc 16>;
172 clock-names = "gem0_emio_clk";
173};