GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm64 / boot / dts / qcom / sc7280-chrome-common.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * sc7280 fragment for devices with Chrome bootloader
4  *
5  * This file mainly tries to abstract out the memory protections put into
6  * place by the Chrome bootloader which are different than what's put into
7  * place by Qualcomm's typical bootloader. It also has a smattering of other
8  * things that will hold true for any conceivable Chrome design
9  *
10  * Copyright 2022 Google LLC.
11  */
12
13 /*
14  * Reserved memory changes
15  *
16  * Delete all unused memory nodes and define the peripheral memory regions
17  * required by the setup for Chrome boards.
18  */
19
20 /delete-node/ &hyp_mem;
21 /delete-node/ &xbl_mem;
22 /delete-node/ &reserved_xbl_uefi_log;
23 /delete-node/ &sec_apps_mem;
24
25 / {
26         reserved-memory {
27                 adsp_mem: memory@86700000 {
28                         reg = <0x0 0x86700000 0x0 0x2800000>;
29                         no-map;
30                 };
31
32                 camera_mem: memory@8ad00000 {
33                         reg = <0x0 0x8ad00000 0x0 0x500000>;
34                         no-map;
35                 };
36
37                 venus_mem: memory@8b200000 {
38                         reg = <0x0 0x8b200000 0x0 0x500000>;
39                         no-map;
40                 };
41
42                 mpss_mem: memory@8b800000 {
43                         reg = <0x0 0x8b800000 0x0 0xf600000>;
44                         no-map;
45                 };
46
47                 wpss_mem: memory@9ae00000 {
48                         reg = <0x0 0x9ae00000 0x0 0x1900000>;
49                         no-map;
50                 };
51
52                 mba_mem: memory@9c700000 {
53                         reg = <0x0 0x9c700000 0x0 0x200000>;
54                         no-map;
55                 };
56         };
57 };
58
59 &lpass_aon {
60         status = "okay";
61 };
62
63 &lpass_core {
64         status = "okay";
65 };
66
67 &lpass_hm {
68         status = "okay";
69 };
70
71 &lpasscc {
72         status = "okay";
73 };
74
75 &pdc_reset {
76         status = "okay";
77 };
78
79 /* The PMIC PON code isn't compatible w/ how Chrome EC/BIOS handle things. */
80 &pmk8350_pon {
81         status = "disabled";
82 };
83
84 /*
85  * Chrome designs always boot from SPI flash hooked up to the qspi.
86  *
87  * It's expected that all boards will support "dual SPI" at 37.5 MHz.
88  * If some boards need a different speed or have a package that allows
89  * Quad SPI together with WP then those boards can easily override.
90  */
91 &qspi {
92         status = "okay";
93         pinctrl-names = "default";
94         pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data01>;
95
96         spi_flash: flash@0 {
97                 compatible = "jedec,spi-nor";
98                 reg = <0>;
99
100                 spi-max-frequency = <37500000>;
101                 spi-tx-bus-width = <2>;
102                 spi-rx-bus-width = <2>;
103         };
104 };
105
106 &remoteproc_wpss {
107         status = "okay";
108         firmware-name = "/*(DEBLOBBED)*/";
109 };
110
111 /* Increase the size from 2.5MB to 8MB */
112 &rmtfs_mem {
113         reg = <0x0 0x9c900000 0x0 0x800000>;
114 };
115
116 &watchdog {
117         status = "okay";
118 };
119
120 &wifi {
121         status = "okay";
122
123         wifi-firmware {
124                 iommus = <&apps_smmu 0x1c02 0x1>;
125         };
126 };