1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0 */
286f032e6SLey Foon Tan /*
386f032e6SLey Foon Tan  * Copyright (C) 2016-2017 Intel Corporation <www.intel.com>
486f032e6SLey Foon Tan  */
586f032e6SLey Foon Tan 
686f032e6SLey Foon Tan #ifndef _SYSTEM_MANAGER_ARRIA10_H_
786f032e6SLey Foon Tan #define _SYSTEM_MANAGER_ARRIA10_H_
886f032e6SLey Foon Tan 
986f032e6SLey Foon Tan struct socfpga_system_manager {
1086f032e6SLey Foon Tan 	u32  siliconid1;
1186f032e6SLey Foon Tan 	u32  siliconid2;
1286f032e6SLey Foon Tan 	u32  wddbg;
1386f032e6SLey Foon Tan 	u32  bootinfo;
1486f032e6SLey Foon Tan 	u32  mpu_ctrl_l2_ecc;
1586f032e6SLey Foon Tan 	u32  _pad_0x14_0x1f[3];
1686f032e6SLey Foon Tan 	u32  dma;
1786f032e6SLey Foon Tan 	u32  dma_periph;
1886f032e6SLey Foon Tan 	u32  sdmmcgrp_ctrl;
1986f032e6SLey Foon Tan 	u32  sdmmc_l3master;
2086f032e6SLey Foon Tan 	u32  nand_bootstrap;
2186f032e6SLey Foon Tan 	u32  nand_l3master;
2286f032e6SLey Foon Tan 	u32  usb0_l3master;
2386f032e6SLey Foon Tan 	u32  usb1_l3master;
2486f032e6SLey Foon Tan 	u32  emac_global;
2586f032e6SLey Foon Tan 	u32  emac[3];
2686f032e6SLey Foon Tan 	u32  _pad_0x50_0x5f[4];
2786f032e6SLey Foon Tan 	u32  fpgaintf_en_global;
2886f032e6SLey Foon Tan 	u32  fpgaintf_en_0;
2986f032e6SLey Foon Tan 	u32  fpgaintf_en_1;
3086f032e6SLey Foon Tan 	u32  fpgaintf_en_2;
3186f032e6SLey Foon Tan 	u32  fpgaintf_en_3;
3286f032e6SLey Foon Tan 	u32  _pad_0x74_0x7f[3];
3386f032e6SLey Foon Tan 	u32  noc_addr_remap_value;
3486f032e6SLey Foon Tan 	u32  noc_addr_remap_set;
3586f032e6SLey Foon Tan 	u32  noc_addr_remap_clear;
3686f032e6SLey Foon Tan 	u32  _pad_0x8c_0x8f;
3786f032e6SLey Foon Tan 	u32  ecc_intmask_value;
3886f032e6SLey Foon Tan 	u32  ecc_intmask_set;
3986f032e6SLey Foon Tan 	u32  ecc_intmask_clr;
4086f032e6SLey Foon Tan 	u32  ecc_intstatus_serr;
4186f032e6SLey Foon Tan 	u32  ecc_intstatus_derr;
4286f032e6SLey Foon Tan 	u32  mpu_status_l2_ecc;
4386f032e6SLey Foon Tan 	u32  mpu_clear_l2_ecc;
4486f032e6SLey Foon Tan 	u32  mpu_status_l1_parity;
4586f032e6SLey Foon Tan 	u32  mpu_clear_l1_parity;
4686f032e6SLey Foon Tan 	u32  mpu_set_l1_parity;
4786f032e6SLey Foon Tan 	u32  _pad_0xb8_0xbf[2];
4886f032e6SLey Foon Tan 	u32  noc_timeout;
4986f032e6SLey Foon Tan 	u32  noc_idlereq_set;
5086f032e6SLey Foon Tan 	u32  noc_idlereq_clr;
5186f032e6SLey Foon Tan 	u32  noc_idlereq_value;
5286f032e6SLey Foon Tan 	u32  noc_idleack;
5386f032e6SLey Foon Tan 	u32  noc_idlestatus;
5486f032e6SLey Foon Tan 	u32  fpga2soc_ctrl;
5586f032e6SLey Foon Tan 	u32  _pad_0xdc_0xff[9];
5686f032e6SLey Foon Tan 	u32  tsmc_tsel_0;
5786f032e6SLey Foon Tan 	u32  tsmc_tsel_1;
5886f032e6SLey Foon Tan 	u32  tsmc_tsel_2;
5986f032e6SLey Foon Tan 	u32  tsmc_tsel_3;
6086f032e6SLey Foon Tan 	u32  _pad_0x110_0x200[60];
6186f032e6SLey Foon Tan 	u32  romhw_ctrl;
6286f032e6SLey Foon Tan 	u32  romcode_ctrl;
6386f032e6SLey Foon Tan 	u32  romcode_cpu1startaddr;
6486f032e6SLey Foon Tan 	u32  romcode_initswstate;
6586f032e6SLey Foon Tan 	u32  romcode_initswlastld;
6686f032e6SLey Foon Tan 	u32  _pad_0x214_0x217;
6786f032e6SLey Foon Tan 	u32  warmram_enable;
6886f032e6SLey Foon Tan 	u32  warmram_datastart;
6986f032e6SLey Foon Tan 	u32  warmram_length;
7086f032e6SLey Foon Tan 	u32  warmram_execution;
7186f032e6SLey Foon Tan 	u32  warmram_crc;
7286f032e6SLey Foon Tan 	u32  _pad_0x22c_0x22f;
7386f032e6SLey Foon Tan 	u32  isw_handoff[8];
7486f032e6SLey Foon Tan 	u32  romcode_bootromswstate[8];
7586f032e6SLey Foon Tan };
7686f032e6SLey Foon Tan 
7786f032e6SLey Foon Tan #define SYSMGR_SDMMC_SMPLSEL_SHIFT	4
7886f032e6SLey Foon Tan #define SYSMGR_BOOTINFO_BSEL_SHIFT	12
7986f032e6SLey Foon Tan 
8086f032e6SLey Foon Tan #endif /* _SYSTEM_MANAGER_ARRIA10_H_ */
81