1/*
2 * Copright 2020, Data61
3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4 * ABN 41 687 119 230.
5 *
6 * This software may be distributed and modified according to the terms of
7 * the GNU General Public License version 2. Note that NO WARRANTY is provided.
8 * See "LICENSE_GPLv2.txt" for details.
9 *
10 * @TAG(DATA61_GPL)
11 */
12
13#include <stdint.h>
14
15#include <platsupport/plat/reset.h>
16#include <tx2bpmp/reset_bindings.h>
17
18/* This maps the reset_ids to the tx2 BPMP reset IDs */
19
20uint32_t mrq_reset_id_map[] = {
21    [RESET_TOP_GTE] = TEGRA186_RESET_TOP_GTE,
22    [RESET_SHSP] = TEGRA186_RESET_SHSP,
23    [RESET_KFUSE] = TEGRA186_RESET_KFUSE,
24    [RESET_GPU] = TEGRA186_RESET_GPU,
25    [RESET_UPHY] = TEGRA186_RESET_UPHY,
26    [RESET_SPI3] = TEGRA186_RESET_SPI3,
27    [RESET_I2C1] = TEGRA186_RESET_I2C1,
28    [RESET_I2C5] = TEGRA186_RESET_I2C5,
29    [RESET_SPI1] = TEGRA186_RESET_SPI1,
30    [RESET_ISP] = TEGRA186_RESET_ISP,
31    [RESET_VI] = TEGRA186_RESET_VI,
32    [RESET_TSCTNVI] = TEGRA186_RESET_TSCTNVI,
33    [RESET_SDMMC1] = TEGRA186_RESET_SDMMC1,
34    [RESET_SDMMC2] = TEGRA186_RESET_SDMMC2,
35    [RESET_SDMMC3] = TEGRA186_RESET_SDMMC3,
36    [RESET_SDMMC4] = TEGRA186_RESET_SDMMC4,
37    [RESET_UARTA] = TEGRA186_RESET_UARTA,
38    [RESET_UARTB] = TEGRA186_RESET_UARTB,
39    [RESET_HOST1X] = TEGRA186_RESET_HOST1X,
40    [RESET_EXTPERIPH4] = TEGRA186_RESET_EXTPERIPH4,
41    [RESET_SPI4] = TEGRA186_RESET_SPI4,
42    [RESET_I2C3] = TEGRA186_RESET_I2C3,
43    [RESET_UARTD] = TEGRA186_RESET_UARTD,
44    [RESET_CSITE] = TEGRA186_RESET_CSITE,
45    [RESET_DTV] = TEGRA186_RESET_DTV,
46    [RESET_TSEC] = TEGRA186_RESET_TSEC,
47    [RESET_I2C4] = TEGRA186_RESET_I2C4,
48    [RESET_HDA2CODEC_2X] = TEGRA186_RESET_HDA2CODEC_2X,
49    [RESET_EXTPERIPH1] = TEGRA186_RESET_EXTPERIPH1,
50    [RESET_EXTPERIPH2] = TEGRA186_RESET_EXTPERIPH2,
51    [RESET_EXTPERIPH3] = TEGRA186_RESET_EXTPERIPH3,
52    [RESET_SOR0] = TEGRA186_RESET_SOR0,
53    [RESET_SOR1] = TEGRA186_RESET_SOR1,
54    [RESET_DPAUX] = TEGRA186_RESET_DPAUX,
55    [RESET_CEC] = TEGRA186_RESET_CEC,
56    [RESET_HDA] = TEGRA186_RESET_HDA,
57    [RESET_APE] = TEGRA186_RESET_APE,
58    [RESET_DSIPADCTL] = TEGRA186_RESET_DSIPADCTL,
59    [RESET_DSI] = TEGRA186_RESET_DSI,
60    [RESET_MIPI_CAL] = TEGRA186_RESET_MIPI_CAL,
61    [RESET_DVFS] = TEGRA186_RESET_DVFS,
62    [RESET_AUD_MCLK] = TEGRA186_RESET_AUD_MCLK,
63    [RESET_I2C6] = TEGRA186_RESET_I2C6,
64    [RESET_NVDEC] = TEGRA186_RESET_NVDEC,
65    [RESET_NVJPG] = TEGRA186_RESET_NVJPG,
66    [RESET_NVENC] = TEGRA186_RESET_NVENC,
67    [RESET_QSPI] = TEGRA186_RESET_QSPI,
68    [RESET_VI_I2C] = TEGRA186_RESET_VI_I2C,
69    [RESET_TSECB] = TEGRA186_RESET_TSECB,
70    [RESET_GPIO_CTL0] = TEGRA186_RESET_GPIO_CTL0,
71    [RESET_GPIO_CTL1] = TEGRA186_RESET_GPIO_CTL1,
72    [RESET_GPIO_CTL2] = TEGRA186_RESET_GPIO_CTL2,
73    [RESET_GPIO_CTL3] = TEGRA186_RESET_GPIO_CTL3,
74    [RESET_GPIO_CTL4] = TEGRA186_RESET_GPIO_CTL4,
75    [RESET_TACH] = TEGRA186_RESET_TACH,
76    [RESET_I2C7] = TEGRA186_RESET_I2C7,
77    [RESET_I2C9] = TEGRA186_RESET_I2C9,
78    [RESET_I2C12] = TEGRA186_RESET_I2C12,
79    [RESET_I2C13] = TEGRA186_RESET_I2C13,
80    [RESET_I2C14] = TEGRA186_RESET_I2C14,
81    [RESET_PWM1] = TEGRA186_RESET_PWM1,
82    [RESET_PWM2] = TEGRA186_RESET_PWM2,
83    [RESET_PWM3] = TEGRA186_RESET_PWM3,
84    [RESET_PWM5] = TEGRA186_RESET_PWM5,
85    [RESET_PWM6] = TEGRA186_RESET_PWM6,
86    [RESET_PWM7] = TEGRA186_RESET_PWM7,
87    [RESET_PWM8] = TEGRA186_RESET_PWM8,
88    [RESET_UARTE] = TEGRA186_RESET_UARTE,
89    [RESET_UARTF] = TEGRA186_RESET_UARTF,
90    [RESET_BPMP_PM] = TEGRA186_RESET_BPMP_PM,
91    [RESET_BPMP_CVC] = TEGRA186_RESET_BPMP_CVC,
92    [RESET_BPMP_DMA] = TEGRA186_RESET_BPMP_DMA,
93    [RESET_BPMP_HSP] = TEGRA186_RESET_BPMP_HSP,
94    [RESET_TSCTNBPMP] = TEGRA186_RESET_TSCTNBPMP,
95    [RESET_BPMP_TKE] = TEGRA186_RESET_BPMP_TKE,
96    [RESET_BPMP_GTE] = TEGRA186_RESET_BPMP_GTE,
97    [RESET_BPMP_APB] = TEGRA186_RESET_BPMP_APB,
98    [RESET_SOC_THERM] = TEGRA186_RESET_SOC_THERM,
99    [RESET_AON_ACTMON] = TEGRA186_RESET_AON_ACTMON,
100    [RESET_AOPM] = TEGRA186_RESET_AOPM,
101    [RESET_AOVC] = TEGRA186_RESET_AOVC,
102    [RESET_AON_DMA] = TEGRA186_RESET_AON_DMA,
103    [RESET_AON_GPIO] = TEGRA186_RESET_AON_GPIO,
104    [RESET_AON_HSP] = TEGRA186_RESET_AON_HSP,
105    [RESET_CAN1] = TEGRA186_RESET_CAN1,
106    [RESET_AON_APB] = TEGRA186_RESET_AON_APB,
107    [RESET_UARTG] = TEGRA186_RESET_UARTG,
108    [RESET_I2C2] = TEGRA186_RESET_I2C2,
109    [RESET_I2C8] = TEGRA186_RESET_I2C8,
110    [RESET_I2C10] = TEGRA186_RESET_I2C10,
111    [RESET_SPI2] = TEGRA186_RESET_SPI2,
112    [RESET_DMIC5] = TEGRA186_RESET_DMIC5,
113    [RESET_PWM4] = TEGRA186_RESET_PWM4,
114    [RESET_TSCTNAON] = TEGRA186_RESET_TSCTNAON,
115    [RESET_AON_TKE] = TEGRA186_RESET_AON_TKE,
116    [RESET_AON_GTE] = TEGRA186_RESET_AON_GTE,
117    [RESET_SCE_ACTMON] = TEGRA186_RESET_SCE_ACTMON,
118    [RESET_SCE_PM] = TEGRA186_RESET_SCE_PM,
119    [RESET_SCE_DMA] = TEGRA186_RESET_SCE_DMA,
120    [RESET_SCE_HSP] = TEGRA186_RESET_SCE_HSP,
121    [RESET_TSCTNSCE] = TEGRA186_RESET_TSCTNSCE,
122    [RESET_SCE_TKE] = TEGRA186_RESET_SCE_TKE,
123    [RESET_SCE_GTE] = TEGRA186_RESET_SCE_GTE,
124    [RESET_SCE_CFG] = TEGRA186_RESET_SCE_CFG,
125    [RESET_SCE_APB] = TEGRA186_RESET_SCE_APB,
126    [RESET_DSIC] = TEGRA186_RESET_DSIC,
127    [RESET_DSID] = TEGRA186_RESET_DSID,
128    [RESET_GPIO_CTL5] = TEGRA186_RESET_GPIO_CTL5,
129    [RESET_PEX_USB_UPHY_L5] = TEGRA186_RESET_PEX_USB_UPHY_L5,
130    [RESET_PEX_USB_UPHY_L4] = TEGRA186_RESET_PEX_USB_UPHY_L4,
131    [RESET_PEX_USB_UPHY_L3] = TEGRA186_RESET_PEX_USB_UPHY_L3,
132    [RESET_PEX_USB_UPHY_L2] = TEGRA186_RESET_PEX_USB_UPHY_L2,
133    [RESET_PEX_USB_UPHY_L1] = TEGRA186_RESET_PEX_USB_UPHY_L1,
134    [RESET_PEX_USB_UPHY_L0] = TEGRA186_RESET_PEX_USB_UPHY_L0,
135    [RESET_PEX_USB_UPHY_PLL1] = TEGRA186_RESET_PEX_USB_UPHY_PLL1,
136    [RESET_PEX_USB_UPHY_PLL0] = TEGRA186_RESET_PEX_USB_UPHY_PLL0,
137    [RESET_PEX_USB_UPHY] = TEGRA186_RESET_PEX_USB_UPHY,
138    [RESET_PCIEXCLK] = TEGRA186_RESET_PCIEXCLK,
139    [RESET_AFI] = TEGRA186_RESET_AFI,
140    [RESET_PCIE] = TEGRA186_RESET_PCIE,
141    [RESET_ADSPNEON] = TEGRA186_RESET_ADSPNEON,
142    [RESET_ADSPSCU] = TEGRA186_RESET_ADSPSCU,
143    [RESET_ADSPWDT] = TEGRA186_RESET_ADSPWDT,
144    [RESET_ADSPDBG] = TEGRA186_RESET_ADSPDBG,
145    [RESET_ADSPPERIPH] = TEGRA186_RESET_ADSPPERIPH,
146    [RESET_ADSPINTF] = TEGRA186_RESET_ADSPINTF,
147    [RESET_ADSP] = TEGRA186_RESET_ADSP,
148    [RESET_EMC_MEM] = TEGRA186_RESET_EMC_MEM,
149    [RESET_EMC_EMC] = TEGRA186_RESET_EMC_EMC,
150    [RESET_SATACOLD] = TEGRA186_RESET_SATACOLD,
151    [RESET_SATA] = TEGRA186_RESET_SATA,
152    [RESET_XUSB_SS] = TEGRA186_RESET_XUSB_SS,
153    [RESET_XUSB_PADCTL] = TEGRA186_RESET_XUSB_PADCTL,
154    [RESET_XUSB_DEV] = TEGRA186_RESET_XUSB_DEV,
155    [RESET_XUSB_HOST] = TEGRA186_RESET_XUSB_HOST,
156    [RESET_DSIB] = TEGRA186_RESET_DSIB,
157    [RESET_MPHY_IOBIST] = TEGRA186_RESET_MPHY_IOBIST,
158    [RESET_MPHY_CLK_CTL] = TEGRA186_RESET_MPHY_CLK_CTL,
159    [RESET_MPHY_L1_RX] = TEGRA186_RESET_MPHY_L1_RX,
160    [RESET_MPHY_L1_TX] = TEGRA186_RESET_MPHY_L1_TX,
161    [RESET_MPHY_L0_RX] = TEGRA186_RESET_MPHY_L0_RX,
162    [RESET_MPHY_L0_TX] = TEGRA186_RESET_MPHY_L0_TX,
163    [RESET_JTAG2AXI] = TEGRA186_RESET_JTAG2AXI,
164    [RESET_GPCDMA] = TEGRA186_RESET_GPCDMA,
165    [RESET_NVDISPLAY0_MISC] = TEGRA186_RESET_NVDISPLAY0_MISC,
166    [RESET_NVDISPLAY0_WGRP5] = TEGRA186_RESET_NVDISPLAY0_WGRP5,
167    [RESET_NVDISPLAY0_WGRP4] = TEGRA186_RESET_NVDISPLAY0_WGRP4,
168    [RESET_NVDISPLAY0_WGRP3] = TEGRA186_RESET_NVDISPLAY0_WGRP3,
169    [RESET_NVDISPLAY0_WGRP2] = TEGRA186_RESET_NVDISPLAY0_WGRP2,
170    [RESET_NVDISPLAY0_WGRP1] = TEGRA186_RESET_NVDISPLAY0_WGRP1,
171    [RESET_NVDISPLAY0_WGRP0] = TEGRA186_RESET_NVDISPLAY0_WGRP0,
172    [RESET_NVDISPLAY0_HEAD2] = TEGRA186_RESET_NVDISPLAY0_HEAD2,
173    [RESET_NVDISPLAY0_HEAD1] = TEGRA186_RESET_NVDISPLAY0_HEAD1,
174    [RESET_NVDISPLAY0_HEAD0] = TEGRA186_RESET_NVDISPLAY0_HEAD0,
175    [RESET_EMCSB_MEM] = TEGRA186_RESET_EMCSB_MEM,
176    [RESET_EMCSB_EMC] = TEGRA186_RESET_EMCSB_EMC,
177    [RESET_UFSHC_AXI_M] = TEGRA186_RESET_UFSHC_AXI_M,
178    [RESET_UFSHC_LP] = TEGRA186_RESET_UFSHC_LP,
179    [RESET_BPMP_NIC] = TEGRA186_RESET_BPMP_NIC,
180    [RESET_BPMP_NSYSPORESET] = TEGRA186_RESET_BPMP_NSYSPORESET,
181    [RESET_BPMP_NRESET] = TEGRA186_RESET_BPMP_NRESET,
182    [RESET_BPMP_DBGRESETN] = TEGRA186_RESET_BPMP_DBGRESETN,
183    [RESET_BPMP_PRESETDBGN] = TEGRA186_RESET_BPMP_PRESETDBGN,
184    [RESET_BPMP_PM_ACTMON] = TEGRA186_RESET_BPMP_PM_ACTMON,
185    [RESET_ACTMON] = TEGRA186_RESET_ACTMON,
186    [RESET_AON_NIC] = TEGRA186_RESET_AON_NIC,
187    [RESET_AON_NSYSPORESET] = TEGRA186_RESET_AON_NSYSPORESET,
188    [RESET_AON_NRESET] = TEGRA186_RESET_AON_NRESET,
189    [RESET_AON_DBGRESETN] = TEGRA186_RESET_AON_DBGRESETN,
190    [RESET_AON_PRESETDBGN] = TEGRA186_RESET_AON_PRESETDBGN,
191    [RESET_SCE_NIC] = TEGRA186_RESET_SCE_NIC,
192    [RESET_SCE_NSYSPORESET] = TEGRA186_RESET_SCE_NSYSPORESET,
193    [RESET_SCE_NRESET] = TEGRA186_RESET_SCE_NRESET,
194    [RESET_SCE_DBGRESETN] = TEGRA186_RESET_SCE_DBGRESETN,
195    [RESET_SCE_PRESETDBGN] = TEGRA186_RESET_SCE_PRESETDBGN,
196    [RESET_EQOS] = TEGRA186_RESET_EQOS,
197};
198