blob: 72ef56d834e42cb88d54da1710f05f57ba03aa66 [file] [log] [blame]
Stefan Roeseec853472021-04-07 09:12:38 +02001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Marvell / Cavium Inc. NIC23
4 */
5
6/dts-v1/;
7
8#include "mrvl,cn73xx.dtsi"
9#include <dt-bindings/gpio/gpio.h>
10
11/ {
12 model = "cavium,nic23";
13 compatible = "cavium,nic23";
14
15 aliases {
16 mmc0 = &mmc0;
17 serial0 = &uart0;
18 spi0 = &spi;
19 };
20
21 regulators {
22 compatible = "simple-bus";
23 #address-cells = <1>;
24 #size-cells = <0>;
25
26 /* Power on GPIO 8, active high */
27 reg_mmc_3v3: regulator@0 {
28 compatible = "regulator-fixed";
29 reg = <0>;
30 regulator-name = "mmc-3v3";
31 regulator-min-microvolt = <3300000>;
32 regulator-max-microvolt = <3300000>;
33 gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
34 enable-active-high;
35 };
36 };
37
38 chosen {
39 stdout-path = &uart0;
40 };
41};
42
43&bootbus {
44 /*
45 * bootbus CS0 for CFI flash is remapped (0x1fc0.0000 -> 1f40.0000)
46 * as the initial size is too small for the 8MiB flash device
47 */
48 ranges = <0 0 0 0x1f400000 0xc00000>,
49 <1 0 0x10000 0x10000000 0>,
50 <2 0 0x10000 0x20000000 0>,
51 <3 0 0x10000 0x30000000 0>,
52 <4 0 0 0x1d020000 0x10000>,
53 <5 0 0x10000 0x50000000 0>,
54 <6 0 0x10000 0x60000000 0>,
55 <7 0 0x10000 0x70000000 0>;
56
57 cavium,cs-config@0 {
58 compatible = "cavium,octeon-3860-bootbus-config";
59 cavium,cs-index = <0>;
60 cavium,t-adr = <10>;
61 cavium,t-ce = <50>;
62 cavium,t-oe = <50>;
63 cavium,t-we = <35>;
64 cavium,t-rd-hld = <25>;
65 cavium,t-wr-hld = <35>;
66 cavium,t-pause = <0>;
67 cavium,t-wait = <50>;
68 cavium,t-page = <30>;
69 cavium,t-rd-dly = <0>;
70 cavium,page-mode = <1>;
71 cavium,pages = <8>;
72 cavium,bus-width = <8>;
73 };
74
75 cavium,cs-config@4 {
76 compatible = "cavium,octeon-3860-bootbus-config";
77 cavium,cs-index = <4>;
78 cavium,t-adr = <10>;
79 cavium,t-ce = <10>;
80 cavium,t-oe = <160>;
81 cavium,t-we = <100>;
82 cavium,t-rd-hld = <10>;
83 cavium,t-wr-hld = <0>;
84 cavium,t-pause = <50>;
85 cavium,t-wait = <50>;
86 cavium,t-page = <10>;
87 cavium,t-rd-dly = <10>;
88 cavium,pages = <0>;
89 cavium,bus-width = <8>;
90 };
91
92 flash0: nor@0,0 {
93 compatible = "cfi-flash";
94 reg = <0 0 0x800000>;
95 #address-cells = <1>;
96 #size-cells = <1>;
97 partition@0 {
98 label = "bootloader";
99 reg = <0 0x340000>;
100 read-only;
101 };
102 partition@300000 {
103 label = "storage";
104 reg = <0x340000 0x4be000>;
105 };
106 partition@7fe000 {
107 label = "environment";
108 reg = <0x7fe000 0x2000>;
109 read-only;
110 };
111 };
112};
113
114&uart0 {
115 clock-frequency = <800000000>;
116};
117
118&i2c0 {
119 u-boot,dm-pre-reloc; /* Needed early for DDR SPD EEPROM */
120 clock-frequency = <100000>;
121};
122
123&i2c1 {
124 u-boot,dm-pre-reloc; /* Needed early for DDR SPD EEPROM */
125 clock-frequency = <100000>;
126};
127
128&mmc {
129 status = "okay";
130
131 mmc0: mmc-slot@0 {
132 compatible = "cavium,octeon-6130-mmc-slot", "mmc-slot";
133 reg = <0>;
134 vqmmc-supply = <&reg_mmc_3v3>;
135 voltage-ranges = <3300 3300>;
136 spi-max-frequency = <52000000>;
137 /* bus width can be 1, 4 or 8 */
138 bus-width = <8>; /* new std property */
139 cavium,bus-max-width = <8>; /* custom property */
140 non-removable;
141 };
142};
143
144&soc0 {
145 pci-console@0 {
146 compatible = "marvell,pci-console";
147 status = "okay";
148 };
149
150 pci-bootcmd@0 {
151 compatible = "marvell,pci-bootcmd";
152 status = "okay";
153 };
154};
155
156&spi {
157 flash@0 {
158 compatible = "micron,n25q128a11", "jedec,spi-nor";
159 spi-max-frequency = <2000000>;
160 reg = <0>;
161 };
162};