1*30088b09SMasahiro Yamada /* 2*30088b09SMasahiro Yamada * Copyright (C) 2014 Marek Vasut <marex@denx.de> 3*30088b09SMasahiro Yamada * 4*30088b09SMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 5*30088b09SMasahiro Yamada */ 6*30088b09SMasahiro Yamada 7*30088b09SMasahiro Yamada #ifndef _NIC301_REGISTERS_H_ 8*30088b09SMasahiro Yamada #define _NIC301_REGISTERS_H_ 9*30088b09SMasahiro Yamada 10*30088b09SMasahiro Yamada struct nic301_registers { 11*30088b09SMasahiro Yamada u32 remap; /* 0x0 */ 12*30088b09SMasahiro Yamada /* Security Register Group */ 13*30088b09SMasahiro Yamada u32 _pad_0x4_0x8[1]; 14*30088b09SMasahiro Yamada u32 l4main; 15*30088b09SMasahiro Yamada u32 l4sp; 16*30088b09SMasahiro Yamada u32 l4mp; /* 0x10 */ 17*30088b09SMasahiro Yamada u32 l4osc1; 18*30088b09SMasahiro Yamada u32 l4spim; 19*30088b09SMasahiro Yamada u32 stm; 20*30088b09SMasahiro Yamada u32 lwhps2fpgaregs; /* 0x20 */ 21*30088b09SMasahiro Yamada u32 _pad_0x24_0x28[1]; 22*30088b09SMasahiro Yamada u32 usb1; 23*30088b09SMasahiro Yamada u32 nanddata; 24*30088b09SMasahiro Yamada u32 _pad_0x30_0x80[20]; 25*30088b09SMasahiro Yamada u32 usb0; /* 0x80 */ 26*30088b09SMasahiro Yamada u32 nandregs; 27*30088b09SMasahiro Yamada u32 qspidata; 28*30088b09SMasahiro Yamada u32 fpgamgrdata; 29*30088b09SMasahiro Yamada u32 hps2fpgaregs; /* 0x90 */ 30*30088b09SMasahiro Yamada u32 acp; 31*30088b09SMasahiro Yamada u32 rom; 32*30088b09SMasahiro Yamada u32 ocram; 33*30088b09SMasahiro Yamada u32 sdrdata; /* 0xA0 */ 34*30088b09SMasahiro Yamada u32 _pad_0xa4_0x1fd0[1995]; 35*30088b09SMasahiro Yamada /* ID Register Group */ 36*30088b09SMasahiro Yamada u32 periph_id_4; /* 0x1FD0 */ 37*30088b09SMasahiro Yamada u32 _pad_0x1fd4_0x1fe0[3]; 38*30088b09SMasahiro Yamada u32 periph_id_0; /* 0x1FE0 */ 39*30088b09SMasahiro Yamada u32 periph_id_1; 40*30088b09SMasahiro Yamada u32 periph_id_2; 41*30088b09SMasahiro Yamada u32 periph_id_3; 42*30088b09SMasahiro Yamada u32 comp_id_0; /* 0x1FF0 */ 43*30088b09SMasahiro Yamada u32 comp_id_1; 44*30088b09SMasahiro Yamada u32 comp_id_2; 45*30088b09SMasahiro Yamada u32 comp_id_3; 46*30088b09SMasahiro Yamada u32 _pad_0x2000_0x2008[2]; 47*30088b09SMasahiro Yamada /* L4 MAIN */ 48*30088b09SMasahiro Yamada u32 l4main_fn_mod_bm_iss; 49*30088b09SMasahiro Yamada u32 _pad_0x200c_0x3008[1023]; 50*30088b09SMasahiro Yamada /* L4 SP */ 51*30088b09SMasahiro Yamada u32 l4sp_fn_mod_bm_iss; 52*30088b09SMasahiro Yamada u32 _pad_0x300c_0x4008[1023]; 53*30088b09SMasahiro Yamada /* L4 MP */ 54*30088b09SMasahiro Yamada u32 l4mp_fn_mod_bm_iss; 55*30088b09SMasahiro Yamada u32 _pad_0x400c_0x5008[1023]; 56*30088b09SMasahiro Yamada /* L4 OSC1 */ 57*30088b09SMasahiro Yamada u32 l4osc_fn_mod_bm_iss; 58*30088b09SMasahiro Yamada u32 _pad_0x500c_0x6008[1023]; 59*30088b09SMasahiro Yamada /* L4 SPIM */ 60*30088b09SMasahiro Yamada u32 l4spim_fn_mod_bm_iss; 61*30088b09SMasahiro Yamada u32 _pad_0x600c_0x7008[1023]; 62*30088b09SMasahiro Yamada /* STM */ 63*30088b09SMasahiro Yamada u32 stm_fn_mod_bm_iss; 64*30088b09SMasahiro Yamada u32 _pad_0x700c_0x7108[63]; 65*30088b09SMasahiro Yamada u32 stm_fn_mod; 66*30088b09SMasahiro Yamada u32 _pad_0x710c_0x8008[959]; 67*30088b09SMasahiro Yamada /* LWHPS2FPGA */ 68*30088b09SMasahiro Yamada u32 lwhps2fpga_fn_mod_bm_iss; 69*30088b09SMasahiro Yamada u32 _pad_0x800c_0x8108[63]; 70*30088b09SMasahiro Yamada u32 lwhps2fpga_fn_mod; 71*30088b09SMasahiro Yamada u32 _pad_0x810c_0xa008[1983]; 72*30088b09SMasahiro Yamada /* USB1 */ 73*30088b09SMasahiro Yamada u32 usb1_fn_mod_bm_iss; 74*30088b09SMasahiro Yamada u32 _pad_0xa00c_0xa044[14]; 75*30088b09SMasahiro Yamada u32 usb1_ahb_cntl; 76*30088b09SMasahiro Yamada u32 _pad_0xa048_0xb008[1008]; 77*30088b09SMasahiro Yamada /* NANDDATA */ 78*30088b09SMasahiro Yamada u32 nanddata_fn_mod_bm_iss; 79*30088b09SMasahiro Yamada u32 _pad_0xb00c_0xb108[63]; 80*30088b09SMasahiro Yamada u32 nanddata_fn_mod; 81*30088b09SMasahiro Yamada u32 _pad_0xb10c_0x20008[21439]; 82*30088b09SMasahiro Yamada /* USB0 */ 83*30088b09SMasahiro Yamada u32 usb0_fn_mod_bm_iss; 84*30088b09SMasahiro Yamada u32 _pad_0x2000c_0x20044[14]; 85*30088b09SMasahiro Yamada u32 usb0_ahb_cntl; 86*30088b09SMasahiro Yamada u32 _pad_0x20048_0x21008[1008]; 87*30088b09SMasahiro Yamada /* NANDREGS */ 88*30088b09SMasahiro Yamada u32 nandregs_fn_mod_bm_iss; 89*30088b09SMasahiro Yamada u32 _pad_0x2100c_0x21108[63]; 90*30088b09SMasahiro Yamada u32 nandregs_fn_mod; 91*30088b09SMasahiro Yamada u32 _pad_0x2110c_0x22008[959]; 92*30088b09SMasahiro Yamada /* QSPIDATA */ 93*30088b09SMasahiro Yamada u32 qspidata_fn_mod_bm_iss; 94*30088b09SMasahiro Yamada u32 _pad_0x2200c_0x22044[14]; 95*30088b09SMasahiro Yamada u32 qspidata_ahb_cntl; 96*30088b09SMasahiro Yamada u32 _pad_0x22048_0x23008[1008]; 97*30088b09SMasahiro Yamada /* FPGAMGRDATA */ 98*30088b09SMasahiro Yamada u32 fpgamgrdata_fn_mod_bm_iss; 99*30088b09SMasahiro Yamada u32 _pad_0x2300c_0x23040[13]; 100*30088b09SMasahiro Yamada u32 fpgamgrdata_wr_tidemark; /* 0x23040 */ 101*30088b09SMasahiro Yamada u32 _pad_0x23044_0x23108[49]; 102*30088b09SMasahiro Yamada u32 fn_mod; 103*30088b09SMasahiro Yamada u32 _pad_0x2310c_0x24008[959]; 104*30088b09SMasahiro Yamada /* HPS2FPGA */ 105*30088b09SMasahiro Yamada u32 hps2fpga_fn_mod_bm_iss; 106*30088b09SMasahiro Yamada u32 _pad_0x2400c_0x24040[13]; 107*30088b09SMasahiro Yamada u32 hps2fpga_wr_tidemark; /* 0x24040 */ 108*30088b09SMasahiro Yamada u32 _pad_0x24044_0x24108[49]; 109*30088b09SMasahiro Yamada u32 hps2fpga_fn_mod; 110*30088b09SMasahiro Yamada u32 _pad_0x2410c_0x25008[959]; 111*30088b09SMasahiro Yamada /* ACP */ 112*30088b09SMasahiro Yamada u32 acp_fn_mod_bm_iss; 113*30088b09SMasahiro Yamada u32 _pad_0x2500c_0x25108[63]; 114*30088b09SMasahiro Yamada u32 acp_fn_mod; 115*30088b09SMasahiro Yamada u32 _pad_0x2510c_0x26008[959]; 116*30088b09SMasahiro Yamada /* Boot ROM */ 117*30088b09SMasahiro Yamada u32 bootrom_fn_mod_bm_iss; 118*30088b09SMasahiro Yamada u32 _pad_0x2600c_0x26108[63]; 119*30088b09SMasahiro Yamada u32 bootrom_fn_mod; 120*30088b09SMasahiro Yamada u32 _pad_0x2610c_0x27008[959]; 121*30088b09SMasahiro Yamada /* On-chip RAM */ 122*30088b09SMasahiro Yamada u32 ocram_fn_mod_bm_iss; 123*30088b09SMasahiro Yamada u32 _pad_0x2700c_0x27040[13]; 124*30088b09SMasahiro Yamada u32 ocram_wr_tidemark; /* 0x27040 */ 125*30088b09SMasahiro Yamada u32 _pad_0x27044_0x27108[49]; 126*30088b09SMasahiro Yamada u32 ocram_fn_mod; 127*30088b09SMasahiro Yamada u32 _pad_0x2710c_0x42024[27590]; 128*30088b09SMasahiro Yamada /* DAP */ 129*30088b09SMasahiro Yamada u32 dap_fn_mod2; 130*30088b09SMasahiro Yamada u32 dap_fn_mod_ahb; 131*30088b09SMasahiro Yamada u32 _pad_0x4202c_0x42100[53]; 132*30088b09SMasahiro Yamada u32 dap_read_qos; /* 0x42100 */ 133*30088b09SMasahiro Yamada u32 dap_write_qos; 134*30088b09SMasahiro Yamada u32 dap_fn_mod; 135*30088b09SMasahiro Yamada u32 _pad_0x4210c_0x43100[1021]; 136*30088b09SMasahiro Yamada /* MPU */ 137*30088b09SMasahiro Yamada u32 mpu_read_qos; /* 0x43100 */ 138*30088b09SMasahiro Yamada u32 mpu_write_qos; 139*30088b09SMasahiro Yamada u32 mpu_fn_mod; 140*30088b09SMasahiro Yamada u32 _pad_0x4310c_0x44028[967]; 141*30088b09SMasahiro Yamada /* SDMMC */ 142*30088b09SMasahiro Yamada u32 sdmmc_fn_mod_ahb; 143*30088b09SMasahiro Yamada u32 _pad_0x4402c_0x44100[53]; 144*30088b09SMasahiro Yamada u32 sdmmc_read_qos; /* 0x44100 */ 145*30088b09SMasahiro Yamada u32 sdmmc_write_qos; 146*30088b09SMasahiro Yamada u32 sdmmc_fn_mod; 147*30088b09SMasahiro Yamada u32 _pad_0x4410c_0x45100[1021]; 148*30088b09SMasahiro Yamada /* DMA */ 149*30088b09SMasahiro Yamada u32 dma_read_qos; /* 0x45100 */ 150*30088b09SMasahiro Yamada u32 dma_write_qos; 151*30088b09SMasahiro Yamada u32 dma_fn_mod; 152*30088b09SMasahiro Yamada u32 _pad_0x4510c_0x46040[973]; 153*30088b09SMasahiro Yamada /* FPGA2HPS */ 154*30088b09SMasahiro Yamada u32 fpga2hps_wr_tidemark; /* 0x46040 */ 155*30088b09SMasahiro Yamada u32 _pad_0x46044_0x46100[47]; 156*30088b09SMasahiro Yamada u32 fpga2hps_read_qos; /* 0x46100 */ 157*30088b09SMasahiro Yamada u32 fpga2hps_write_qos; 158*30088b09SMasahiro Yamada u32 fpga2hps_fn_mod; 159*30088b09SMasahiro Yamada u32 _pad_0x4610c_0x47100[1021]; 160*30088b09SMasahiro Yamada /* ETR */ 161*30088b09SMasahiro Yamada u32 etr_read_qos; /* 0x47100 */ 162*30088b09SMasahiro Yamada u32 etr_write_qos; 163*30088b09SMasahiro Yamada u32 etr_fn_mod; 164*30088b09SMasahiro Yamada u32 _pad_0x4710c_0x48100[1021]; 165*30088b09SMasahiro Yamada /* EMAC0 */ 166*30088b09SMasahiro Yamada u32 emac0_read_qos; /* 0x48100 */ 167*30088b09SMasahiro Yamada u32 emac0_write_qos; 168*30088b09SMasahiro Yamada u32 emac0_fn_mod; 169*30088b09SMasahiro Yamada u32 _pad_0x4810c_0x49100[1021]; 170*30088b09SMasahiro Yamada /* EMAC1 */ 171*30088b09SMasahiro Yamada u32 emac1_read_qos; /* 0x49100 */ 172*30088b09SMasahiro Yamada u32 emac1_write_qos; 173*30088b09SMasahiro Yamada u32 emac1_fn_mod; 174*30088b09SMasahiro Yamada u32 _pad_0x4910c_0x4a028[967]; 175*30088b09SMasahiro Yamada /* USB0 */ 176*30088b09SMasahiro Yamada u32 usb0_fn_mod_ahb; 177*30088b09SMasahiro Yamada u32 _pad_0x4a02c_0x4a100[53]; 178*30088b09SMasahiro Yamada u32 usb0_read_qos; /* 0x4A100 */ 179*30088b09SMasahiro Yamada u32 usb0_write_qos; 180*30088b09SMasahiro Yamada u32 usb0_fn_mod; 181*30088b09SMasahiro Yamada u32 _pad_0x4a10c_0x4b100[1021]; 182*30088b09SMasahiro Yamada /* NAND */ 183*30088b09SMasahiro Yamada u32 nand_read_qos; /* 0x4B100 */ 184*30088b09SMasahiro Yamada u32 nand_write_qos; 185*30088b09SMasahiro Yamada u32 nand_fn_mod; 186*30088b09SMasahiro Yamada u32 _pad_0x4b10c_0x4c028[967]; 187*30088b09SMasahiro Yamada /* USB1 */ 188*30088b09SMasahiro Yamada u32 usb1_fn_mod_ahb; 189*30088b09SMasahiro Yamada u32 _pad_0x4c02c_0x4c100[53]; 190*30088b09SMasahiro Yamada u32 usb1_read_qos; /* 0x4C100 */ 191*30088b09SMasahiro Yamada u32 usb1_write_qos; 192*30088b09SMasahiro Yamada u32 usb1_fn_mod; 193*30088b09SMasahiro Yamada }; 194*30088b09SMasahiro Yamada 195*30088b09SMasahiro Yamada #endif /* _NIC301_REGISTERS_H_ */ 196