Commit 853f7f5018d9b67b6039a78127c44e2daa467204
Committed by
Tom Rini
1 parent
ea8ad1d9b6
Exists in
smarc_8mq_lf_v2020.04
and in
11 other branches
arm64: dts: k3: Add u-boot specific nodes
Add the minimum dt nodes required to boot. These nodes will get deleted as kernel gets these nodes added in the main dts files. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Showing 2 changed files with 252 additions and 0 deletions Side-by-side Diff
arch/arm/dts/k3-am654-base-board-u-boot.dtsi
1 | +// SPDX-License-Identifier: GPL-2.0 | |
2 | +/* | |
3 | + * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/ | |
4 | + */ | |
5 | + | |
6 | +#include <dt-bindings/pinctrl/k3-am65.h> | |
7 | + | |
8 | +/ { | |
9 | + chosen { | |
10 | + stdout-path = "serial2:115200n8"; | |
11 | + }; | |
12 | + | |
13 | + aliases { | |
14 | + serial2 = &main_uart0; | |
15 | + }; | |
16 | +}; | |
17 | + | |
18 | +&cbass_main{ | |
19 | + u-boot,dm-spl; | |
20 | + secure_proxy: secure_proxy@32c00000 { | |
21 | + compatible = "ti,am654-secure-proxy"; | |
22 | + #mbox-cells = <1>; | |
23 | + reg-names = "target_data", "rt", "scfg"; | |
24 | + reg = <0x32c00000 0x100000>, | |
25 | + <0x32400000 0x100000>, | |
26 | + <0x32800000 0x100000>; | |
27 | + interrupt-names = "rx_011"; | |
28 | + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | |
29 | + }; | |
30 | + | |
31 | + dmsc: dmsc { | |
32 | + compatible = "ti,k2g-sci"; | |
33 | + ti,host-id = <12>; | |
34 | + #address-cells = <1>; | |
35 | + #size-cells = <1>; | |
36 | + ranges; | |
37 | + /* | |
38 | + * In case of rare platforms that does not use am6 as | |
39 | + * system master, use /delete-property/ | |
40 | + */ | |
41 | + ti,system-reboot-controller; | |
42 | + mbox-names = "rx", "tx"; | |
43 | + | |
44 | + mboxes= <&secure_proxy 11>, | |
45 | + <&secure_proxy 13>; | |
46 | + | |
47 | + k3_pds: power-controller { | |
48 | + compatible = "ti,sci-pm-domain"; | |
49 | + #power-domain-cells = <1>; | |
50 | + }; | |
51 | + | |
52 | + k3_clks: clocks { | |
53 | + compatible = "ti,k2g-sci-clk"; | |
54 | + #clock-cells = <2>; | |
55 | + }; | |
56 | + | |
57 | + k3_reset: reset-controller { | |
58 | + compatible = "ti,sci-reset"; | |
59 | + #reset-cells = <2>; | |
60 | + }; | |
61 | + | |
62 | + k3_sysreset: sysreset-controller { | |
63 | + compatible = "ti,sci-sysreset"; | |
64 | + }; | |
65 | + }; | |
66 | + | |
67 | + main_pmx0: pinmux@11c000 { | |
68 | + compatible = "pinctrl-single"; | |
69 | + reg = <0x11c000 0x2e4>; | |
70 | + #pinctrl-cells = <1>; | |
71 | + pinctrl-single,register-width = <32>; | |
72 | + pinctrl-single,function-mask = <0xffffffff>; | |
73 | + }; | |
74 | + | |
75 | + main_pmx1: pinmux@11c2e8 { | |
76 | + compatible = "pinctrl-single"; | |
77 | + reg = <0x11c2e8 0x24>; | |
78 | + #pinctrl-cells = <1>; | |
79 | + pinctrl-single,register-width = <32>; | |
80 | + pinctrl-single,function-mask = <0xffffffff>; | |
81 | + }; | |
82 | + | |
83 | + main_uart0: serial@2800000 { | |
84 | + compatible = "ti,am654-uart", "ti,omap4-uart", "ns16550a"; | |
85 | + reg = <0x02800000 0x100>; | |
86 | + reg-shift = <2>; | |
87 | + reg-io-width = <4>; | |
88 | + interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; | |
89 | + clock-frequency = <48000000>; | |
90 | + current-speed = <115200>; | |
91 | + status = "disabled"; | |
92 | + u-boot,dm-pre-reloc; | |
93 | + }; | |
94 | + | |
95 | + sdhci0: sdhci@04F80000 { | |
96 | + compatible = "arasan,sdhci-5.1"; | |
97 | + reg = <0x4F80000 0x1000>, | |
98 | + <0x4F90000 0x400>; | |
99 | + clocks = <&k3_clks 47 1>; | |
100 | + power-domains = <&k3_pds 47>; | |
101 | + max-frequency = <25000000>; | |
102 | + }; | |
103 | + | |
104 | + sdhci1: sdhci@04FA0000 { | |
105 | + compatible = "arasan,sdhci-5.1"; | |
106 | + reg = <0x4FA0000 0x1000>, | |
107 | + <0x4FB0000 0x400>; | |
108 | + clocks = <&k3_clks 48 1>; | |
109 | + power-domains = <&k3_pds 48>; | |
110 | + max-frequency = <25000000>; | |
111 | + }; | |
112 | + | |
113 | +}; | |
114 | + | |
115 | +&secure_proxy { | |
116 | + u-boot,dm-spl; | |
117 | +}; | |
118 | + | |
119 | +&dmsc { | |
120 | + u-boot,dm-spl; | |
121 | +}; | |
122 | + | |
123 | +&k3_pds { | |
124 | + u-boot,dm-spl; | |
125 | +}; | |
126 | + | |
127 | +&k3_clks { | |
128 | + u-boot,dm-spl; | |
129 | +}; | |
130 | + | |
131 | +&k3_reset { | |
132 | + u-boot,dm-spl; | |
133 | +}; | |
134 | + | |
135 | +&main_pmx0 { | |
136 | + u-boot,dm-spl; | |
137 | + main_uart0_pins_default: main_uart0_pins_default { | |
138 | + pinctrl-single,pins = < | |
139 | + AM65X_IOPAD(0x01e4, PIN_INPUT | MUX_MODE0) /* (AF11) UART0_RXD */ | |
140 | + AM65X_IOPAD(0x01e8, PIN_OUTPUT | MUX_MODE0) /* (AE11) UART0_TXD */ | |
141 | + AM65X_IOPAD(0x01ec, PIN_INPUT | MUX_MODE0) /* (AG11) UART0_CTSn */ | |
142 | + AM65X_IOPAD(0x01f0, PIN_OUTPUT | MUX_MODE0) /* (AD11) UART0_RTSn */ | |
143 | + >; | |
144 | + }; | |
145 | + | |
146 | + main_mmc0_pins_default: main_mmc0_pins_default { | |
147 | + pinctrl-single,pins = < | |
148 | + AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* (B25) MMC0_CLK */ | |
149 | + AM65X_IOPAD(0x01aC, PIN_INPUT_PULLUP | MUX_MODE0) /* (B27) MMC0_CMD */ | |
150 | + AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* (A26) MMC0_DAT0 */ | |
151 | + AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP | MUX_MODE0) /* (E25) MMC0_DAT1 */ | |
152 | + AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP | MUX_MODE0) /* (C26) MMC0_DAT2 */ | |
153 | + AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP | MUX_MODE0) /* (A25) MMC0_DAT3 */ | |
154 | + AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP | MUX_MODE0) /* (E24) MMC0_DAT4 */ | |
155 | + AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP | MUX_MODE0) /* (A24) MMC0_DAT5 */ | |
156 | + AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP | MUX_MODE0) /* (B26) MMC0_DAT6 */ | |
157 | + AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP | MUX_MODE0) /* (D25) MMC0_DAT7 */ | |
158 | + AM65X_IOPAD(0x01b0, PIN_INPUT | MUX_MODE0) /* (C25) MMC0_DS */ | |
159 | + >; | |
160 | + }; | |
161 | + | |
162 | + main_mmc1_pins_default: main_mmc1_pins_default { | |
163 | + pinctrl-single,pins = < | |
164 | + AM65X_IOPAD(0x02d4, PIN_INPUT_PULLDOWN | MUX_MODE0) /* (C27) MMC1_CLK */ | |
165 | + AM65X_IOPAD(0x02d8, PIN_INPUT_PULLUP | MUX_MODE0) /* (C28) MMC1_CMD */ | |
166 | + AM65X_IOPAD(0x02d0, PIN_INPUT_PULLUP | MUX_MODE0) /* (D28) MMC1_DAT0 */ | |
167 | + AM65X_IOPAD(0x02cc, PIN_INPUT_PULLUP | MUX_MODE0) /* (E27) MMC1_DAT1 */ | |
168 | + AM65X_IOPAD(0x02c8, PIN_INPUT_PULLUP | MUX_MODE0) /* (D26) MMC1_DAT2 */ | |
169 | + AM65X_IOPAD(0x02c4, PIN_INPUT_PULLUP | MUX_MODE0) /* (D27) MMC1_DAT3 */ | |
170 | + AM65X_IOPAD(0x02dc, PIN_INPUT_PULLUP | MUX_MODE0) /* (B24) MMC1_SDCD */ | |
171 | + AM65X_IOPAD(0x02e0, PIN_INPUT | MUX_MODE0) /* (C24) MMC1_SDWP */ | |
172 | + >; | |
173 | + }; | |
174 | + | |
175 | +}; | |
176 | + | |
177 | +&main_pmx1 { | |
178 | + u-boot,dm-spl; | |
179 | +}; | |
180 | + | |
181 | +&main_uart0 { | |
182 | + u-boot,dm-spl; | |
183 | + pinctrl-names = "default"; | |
184 | + pinctrl-0 = <&main_uart0_pins_default>; | |
185 | + status = "okay"; | |
186 | +}; | |
187 | + | |
188 | +&sdhci0 { | |
189 | + u-boot,dm-spl; | |
190 | + status = "okay"; | |
191 | + non-removable; | |
192 | + bus-width = <8>; | |
193 | + pinctrl-names = "default"; | |
194 | + pinctrl-0 = <&main_mmc0_pins_default>; | |
195 | +}; | |
196 | + | |
197 | +&sdhci1 { | |
198 | + u-boot,dm-spl; | |
199 | + status = "okay"; | |
200 | + pinctrl-names = "default"; | |
201 | + pinctrl-0 = <&main_mmc1_pins_default>; | |
202 | + sdhci-caps-mask = <0x7 0x0>; | |
203 | +}; |
include/dt-bindings/pinctrl/k3-am65.h
1 | +/* SPDX-License-Identifier: GPL-2.0 */ | |
2 | +/* | |
3 | + * This header provides constants for TI K3-AM65 pinctrl bindings. | |
4 | + * | |
5 | + * Copyright (C) 2018 Texas Instruments | |
6 | + */ | |
7 | +#ifndef _DT_BINDINGS_PINCTRL_TI_K3_AM65_H | |
8 | +#define _DT_BINDINGS_PINCTRL_TI_K3_AM65_H | |
9 | + | |
10 | +/* K3 mux mode options for each pin. See TRM for options */ | |
11 | +#define MUX_MODE0 0 | |
12 | +#define MUX_MODE1 1 | |
13 | +#define MUX_MODE2 2 | |
14 | +#define MUX_MODE3 3 | |
15 | +#define MUX_MODE4 4 | |
16 | +#define MUX_MODE5 5 | |
17 | +#define MUX_MODE6 6 | |
18 | +#define MUX_MODE7 7 | |
19 | +#define MUX_MODE15 15 | |
20 | + | |
21 | +#define PULL_DISABLE (1 << 16) | |
22 | +#define PULL_UP (1 << 17) | |
23 | +#define INPUT_EN (1 << 18) | |
24 | +#define SLEWCTRL_200MHZ 0 | |
25 | +#define SLEWCTRL_150MHZ (1 << 19) | |
26 | +#define SLEWCTRL_100MHZ (2 << 19) | |
27 | +#define SLEWCTRL_50MHZ (3 << 19) | |
28 | +#define TX_DIS (1 << 21) | |
29 | +#define ISO_OVR (1 << 22) | |
30 | +#define ISO_BYPASS (1 << 23) | |
31 | +#define DS_EN (1 << 24) | |
32 | +#define DS_INPUT (1 << 25) | |
33 | +#define DS_FORCE_OUT_HIGH (1 << 26) | |
34 | +#define DS_PULL_UP_DOWN_EN 0 | |
35 | +#define DS_PULL_UP_DOWN_DIS (1 << 27) | |
36 | +#define DS_PULL_UP_SEL (1 << 28) | |
37 | +#define WAKEUP_ENABLE (1 << 29) | |
38 | + | |
39 | +#define PIN_OUTPUT (PULL_DISABLE) | |
40 | +#define PIN_OUTPUT_PULLUP (PULL_UP) | |
41 | +#define PIN_OUTPUT_PULLDOWN 0 | |
42 | +#define PIN_INPUT (INPUT_EN | PULL_DISABLE) | |
43 | +#define PIN_INPUT_PULLUP (INPUT_EN | PULL_UP) | |
44 | +#define PIN_INPUT_PULLDOWN (INPUT_EN) | |
45 | + | |
46 | +#define AM65X_IOPAD(pa, val) (((pa) & 0x1fff)) (val) | |
47 | +#define AM65X_WKUP_IOPAD(pa, val) (((pa) & 0x1fff)) (val) | |
48 | + | |
49 | +#endif |