xref: /openbmc/u-boot/arch/arm/mach-socfpga/include/mach/nic301.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
230088b09SMasahiro Yamada /*
330088b09SMasahiro Yamada  * Copyright (C) 2014 Marek Vasut <marex@denx.de>
430088b09SMasahiro Yamada  */
530088b09SMasahiro Yamada 
630088b09SMasahiro Yamada #ifndef	_NIC301_REGISTERS_H_
730088b09SMasahiro Yamada #define	_NIC301_REGISTERS_H_
830088b09SMasahiro Yamada 
930088b09SMasahiro Yamada struct nic301_registers {
1030088b09SMasahiro Yamada 	u32	remap;				/* 0x0 */
1130088b09SMasahiro Yamada 	/* Security Register Group */
1230088b09SMasahiro Yamada 	u32	_pad_0x4_0x8[1];
1330088b09SMasahiro Yamada 	u32	l4main;
1430088b09SMasahiro Yamada 	u32	l4sp;
1530088b09SMasahiro Yamada 	u32	l4mp;				/* 0x10 */
1630088b09SMasahiro Yamada 	u32	l4osc1;
1730088b09SMasahiro Yamada 	u32	l4spim;
1830088b09SMasahiro Yamada 	u32	stm;
1930088b09SMasahiro Yamada 	u32	lwhps2fpgaregs;			/* 0x20 */
2030088b09SMasahiro Yamada 	u32	_pad_0x24_0x28[1];
2130088b09SMasahiro Yamada 	u32	usb1;
2230088b09SMasahiro Yamada 	u32	nanddata;
2330088b09SMasahiro Yamada 	u32	_pad_0x30_0x80[20];
2430088b09SMasahiro Yamada 	u32	usb0;				/* 0x80 */
2530088b09SMasahiro Yamada 	u32	nandregs;
2630088b09SMasahiro Yamada 	u32	qspidata;
2730088b09SMasahiro Yamada 	u32	fpgamgrdata;
2830088b09SMasahiro Yamada 	u32	hps2fpgaregs;			/* 0x90 */
2930088b09SMasahiro Yamada 	u32	acp;
3030088b09SMasahiro Yamada 	u32	rom;
3130088b09SMasahiro Yamada 	u32	ocram;
3230088b09SMasahiro Yamada 	u32	sdrdata;			/* 0xA0 */
3330088b09SMasahiro Yamada 	u32	_pad_0xa4_0x1fd0[1995];
3430088b09SMasahiro Yamada 	/* ID Register Group */
3530088b09SMasahiro Yamada 	u32	periph_id_4;			/* 0x1FD0 */
3630088b09SMasahiro Yamada 	u32	_pad_0x1fd4_0x1fe0[3];
3730088b09SMasahiro Yamada 	u32	periph_id_0;			/* 0x1FE0 */
3830088b09SMasahiro Yamada 	u32	periph_id_1;
3930088b09SMasahiro Yamada 	u32	periph_id_2;
4030088b09SMasahiro Yamada 	u32	periph_id_3;
4130088b09SMasahiro Yamada 	u32	comp_id_0;			/* 0x1FF0 */
4230088b09SMasahiro Yamada 	u32	comp_id_1;
4330088b09SMasahiro Yamada 	u32	comp_id_2;
4430088b09SMasahiro Yamada 	u32	comp_id_3;
4530088b09SMasahiro Yamada 	u32	_pad_0x2000_0x2008[2];
4630088b09SMasahiro Yamada 	/* L4 MAIN */
4730088b09SMasahiro Yamada 	u32	l4main_fn_mod_bm_iss;
4830088b09SMasahiro Yamada 	u32	_pad_0x200c_0x3008[1023];
4930088b09SMasahiro Yamada 	/* L4 SP */
5030088b09SMasahiro Yamada 	u32	l4sp_fn_mod_bm_iss;
5130088b09SMasahiro Yamada 	u32	_pad_0x300c_0x4008[1023];
5230088b09SMasahiro Yamada 	/* L4 MP */
5330088b09SMasahiro Yamada 	u32	l4mp_fn_mod_bm_iss;
5430088b09SMasahiro Yamada 	u32	_pad_0x400c_0x5008[1023];
5530088b09SMasahiro Yamada 	/* L4 OSC1 */
5630088b09SMasahiro Yamada 	u32	l4osc_fn_mod_bm_iss;
5730088b09SMasahiro Yamada 	u32	_pad_0x500c_0x6008[1023];
5830088b09SMasahiro Yamada 	/* L4 SPIM */
5930088b09SMasahiro Yamada 	u32	l4spim_fn_mod_bm_iss;
6030088b09SMasahiro Yamada 	u32	_pad_0x600c_0x7008[1023];
6130088b09SMasahiro Yamada 	/* STM */
6230088b09SMasahiro Yamada 	u32	stm_fn_mod_bm_iss;
6330088b09SMasahiro Yamada 	u32	_pad_0x700c_0x7108[63];
6430088b09SMasahiro Yamada 	u32	stm_fn_mod;
6530088b09SMasahiro Yamada 	u32	_pad_0x710c_0x8008[959];
6630088b09SMasahiro Yamada 	/* LWHPS2FPGA */
6730088b09SMasahiro Yamada 	u32	lwhps2fpga_fn_mod_bm_iss;
6830088b09SMasahiro Yamada 	u32	_pad_0x800c_0x8108[63];
6930088b09SMasahiro Yamada 	u32	lwhps2fpga_fn_mod;
7030088b09SMasahiro Yamada 	u32	_pad_0x810c_0xa008[1983];
7130088b09SMasahiro Yamada 	/* USB1 */
7230088b09SMasahiro Yamada 	u32	usb1_fn_mod_bm_iss;
7330088b09SMasahiro Yamada 	u32	_pad_0xa00c_0xa044[14];
7430088b09SMasahiro Yamada 	u32	usb1_ahb_cntl;
7530088b09SMasahiro Yamada 	u32	_pad_0xa048_0xb008[1008];
7630088b09SMasahiro Yamada 	/* NANDDATA */
7730088b09SMasahiro Yamada 	u32	nanddata_fn_mod_bm_iss;
7830088b09SMasahiro Yamada 	u32	_pad_0xb00c_0xb108[63];
7930088b09SMasahiro Yamada 	u32	nanddata_fn_mod;
8030088b09SMasahiro Yamada 	u32	_pad_0xb10c_0x20008[21439];
8130088b09SMasahiro Yamada 	/* USB0 */
8230088b09SMasahiro Yamada 	u32	usb0_fn_mod_bm_iss;
8330088b09SMasahiro Yamada 	u32	_pad_0x2000c_0x20044[14];
8430088b09SMasahiro Yamada 	u32	usb0_ahb_cntl;
8530088b09SMasahiro Yamada 	u32	_pad_0x20048_0x21008[1008];
8630088b09SMasahiro Yamada 	/* NANDREGS */
8730088b09SMasahiro Yamada 	u32	nandregs_fn_mod_bm_iss;
8830088b09SMasahiro Yamada 	u32	_pad_0x2100c_0x21108[63];
8930088b09SMasahiro Yamada 	u32	nandregs_fn_mod;
9030088b09SMasahiro Yamada 	u32	_pad_0x2110c_0x22008[959];
9130088b09SMasahiro Yamada 	/* QSPIDATA */
9230088b09SMasahiro Yamada 	u32	qspidata_fn_mod_bm_iss;
9330088b09SMasahiro Yamada 	u32	_pad_0x2200c_0x22044[14];
9430088b09SMasahiro Yamada 	u32	qspidata_ahb_cntl;
9530088b09SMasahiro Yamada 	u32	_pad_0x22048_0x23008[1008];
9630088b09SMasahiro Yamada 	/* FPGAMGRDATA */
9730088b09SMasahiro Yamada 	u32	fpgamgrdata_fn_mod_bm_iss;
9830088b09SMasahiro Yamada 	u32	_pad_0x2300c_0x23040[13];
9930088b09SMasahiro Yamada 	u32	fpgamgrdata_wr_tidemark;	/* 0x23040 */
10030088b09SMasahiro Yamada 	u32	_pad_0x23044_0x23108[49];
10130088b09SMasahiro Yamada 	u32	fn_mod;
10230088b09SMasahiro Yamada 	u32	_pad_0x2310c_0x24008[959];
10330088b09SMasahiro Yamada 	/* HPS2FPGA */
10430088b09SMasahiro Yamada 	u32	hps2fpga_fn_mod_bm_iss;
10530088b09SMasahiro Yamada 	u32	_pad_0x2400c_0x24040[13];
10630088b09SMasahiro Yamada 	u32	hps2fpga_wr_tidemark;		/* 0x24040 */
10730088b09SMasahiro Yamada 	u32	_pad_0x24044_0x24108[49];
10830088b09SMasahiro Yamada 	u32	hps2fpga_fn_mod;
10930088b09SMasahiro Yamada 	u32	_pad_0x2410c_0x25008[959];
11030088b09SMasahiro Yamada 	/* ACP */
11130088b09SMasahiro Yamada 	u32	acp_fn_mod_bm_iss;
11230088b09SMasahiro Yamada 	u32	_pad_0x2500c_0x25108[63];
11330088b09SMasahiro Yamada 	u32	acp_fn_mod;
11430088b09SMasahiro Yamada 	u32	_pad_0x2510c_0x26008[959];
11530088b09SMasahiro Yamada 	/* Boot ROM */
11630088b09SMasahiro Yamada 	u32	bootrom_fn_mod_bm_iss;
11730088b09SMasahiro Yamada 	u32	_pad_0x2600c_0x26108[63];
11830088b09SMasahiro Yamada 	u32	bootrom_fn_mod;
11930088b09SMasahiro Yamada 	u32	_pad_0x2610c_0x27008[959];
12030088b09SMasahiro Yamada 	/* On-chip RAM */
12130088b09SMasahiro Yamada 	u32	ocram_fn_mod_bm_iss;
12230088b09SMasahiro Yamada 	u32	_pad_0x2700c_0x27040[13];
12330088b09SMasahiro Yamada 	u32	ocram_wr_tidemark;		/* 0x27040 */
12430088b09SMasahiro Yamada 	u32	_pad_0x27044_0x27108[49];
12530088b09SMasahiro Yamada 	u32	ocram_fn_mod;
12630088b09SMasahiro Yamada 	u32	_pad_0x2710c_0x42024[27590];
12730088b09SMasahiro Yamada 	/* DAP */
12830088b09SMasahiro Yamada 	u32	dap_fn_mod2;
12930088b09SMasahiro Yamada 	u32	dap_fn_mod_ahb;
13030088b09SMasahiro Yamada 	u32	_pad_0x4202c_0x42100[53];
13130088b09SMasahiro Yamada 	u32	dap_read_qos;			/* 0x42100 */
13230088b09SMasahiro Yamada 	u32	dap_write_qos;
13330088b09SMasahiro Yamada 	u32	dap_fn_mod;
13430088b09SMasahiro Yamada 	u32	_pad_0x4210c_0x43100[1021];
13530088b09SMasahiro Yamada 	/* MPU */
13630088b09SMasahiro Yamada 	u32	mpu_read_qos;			/* 0x43100 */
13730088b09SMasahiro Yamada 	u32	mpu_write_qos;
13830088b09SMasahiro Yamada 	u32	mpu_fn_mod;
13930088b09SMasahiro Yamada 	u32	_pad_0x4310c_0x44028[967];
14030088b09SMasahiro Yamada 	/* SDMMC */
14130088b09SMasahiro Yamada 	u32	sdmmc_fn_mod_ahb;
14230088b09SMasahiro Yamada 	u32	_pad_0x4402c_0x44100[53];
14330088b09SMasahiro Yamada 	u32	sdmmc_read_qos;			/* 0x44100 */
14430088b09SMasahiro Yamada 	u32	sdmmc_write_qos;
14530088b09SMasahiro Yamada 	u32	sdmmc_fn_mod;
14630088b09SMasahiro Yamada 	u32	_pad_0x4410c_0x45100[1021];
14730088b09SMasahiro Yamada 	/* DMA */
14830088b09SMasahiro Yamada 	u32	dma_read_qos;			/* 0x45100 */
14930088b09SMasahiro Yamada 	u32	dma_write_qos;
15030088b09SMasahiro Yamada 	u32	dma_fn_mod;
15130088b09SMasahiro Yamada 	u32	_pad_0x4510c_0x46040[973];
15230088b09SMasahiro Yamada 	/* FPGA2HPS */
15330088b09SMasahiro Yamada 	u32	fpga2hps_wr_tidemark;		/* 0x46040 */
15430088b09SMasahiro Yamada 	u32	_pad_0x46044_0x46100[47];
15530088b09SMasahiro Yamada 	u32	fpga2hps_read_qos;		/* 0x46100 */
15630088b09SMasahiro Yamada 	u32	fpga2hps_write_qos;
15730088b09SMasahiro Yamada 	u32	fpga2hps_fn_mod;
15830088b09SMasahiro Yamada 	u32	_pad_0x4610c_0x47100[1021];
15930088b09SMasahiro Yamada 	/* ETR */
16030088b09SMasahiro Yamada 	u32	etr_read_qos;			/* 0x47100 */
16130088b09SMasahiro Yamada 	u32	etr_write_qos;
16230088b09SMasahiro Yamada 	u32	etr_fn_mod;
16330088b09SMasahiro Yamada 	u32	_pad_0x4710c_0x48100[1021];
16430088b09SMasahiro Yamada 	/* EMAC0 */
16530088b09SMasahiro Yamada 	u32	emac0_read_qos;			/* 0x48100 */
16630088b09SMasahiro Yamada 	u32	emac0_write_qos;
16730088b09SMasahiro Yamada 	u32	emac0_fn_mod;
16830088b09SMasahiro Yamada 	u32	_pad_0x4810c_0x49100[1021];
16930088b09SMasahiro Yamada 	/* EMAC1 */
17030088b09SMasahiro Yamada 	u32	emac1_read_qos;			/* 0x49100 */
17130088b09SMasahiro Yamada 	u32	emac1_write_qos;
17230088b09SMasahiro Yamada 	u32	emac1_fn_mod;
17330088b09SMasahiro Yamada 	u32	_pad_0x4910c_0x4a028[967];
17430088b09SMasahiro Yamada 	/* USB0 */
17530088b09SMasahiro Yamada 	u32	usb0_fn_mod_ahb;
17630088b09SMasahiro Yamada 	u32	_pad_0x4a02c_0x4a100[53];
17730088b09SMasahiro Yamada 	u32	usb0_read_qos;			/* 0x4A100 */
17830088b09SMasahiro Yamada 	u32	usb0_write_qos;
17930088b09SMasahiro Yamada 	u32	usb0_fn_mod;
18030088b09SMasahiro Yamada 	u32	_pad_0x4a10c_0x4b100[1021];
18130088b09SMasahiro Yamada 	/* NAND */
18230088b09SMasahiro Yamada 	u32	nand_read_qos;			/* 0x4B100 */
18330088b09SMasahiro Yamada 	u32	nand_write_qos;
18430088b09SMasahiro Yamada 	u32	nand_fn_mod;
18530088b09SMasahiro Yamada 	u32	_pad_0x4b10c_0x4c028[967];
18630088b09SMasahiro Yamada 	/* USB1 */
18730088b09SMasahiro Yamada 	u32	usb1_fn_mod_ahb;
18830088b09SMasahiro Yamada 	u32	_pad_0x4c02c_0x4c100[53];
18930088b09SMasahiro Yamada 	u32	usb1_read_qos;			/* 0x4C100 */
19030088b09SMasahiro Yamada 	u32	usb1_write_qos;
19130088b09SMasahiro Yamada 	u32	usb1_fn_mod;
19230088b09SMasahiro Yamada };
19330088b09SMasahiro Yamada 
19430088b09SMasahiro Yamada #endif	/* _NIC301_REGISTERS_H_ */
195