Changeset f6f22cdb in mainline for boot/arch/sparc32/include/ambapp.h
- Timestamp:
- 2013-12-27T18:45:56Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 32e8cd1
- Parents:
- e47ed05
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/sparc32/include/ambapp.h
re47ed05 rf6f22cdb 37 37 #define BOOT_sparc32_AMBAPP_H 38 38 39 #define AMBAPP_MAX_DEVICES6440 #define AMBAPP_AHBMASTER_AREA0xfffff00041 #define AMBAPP_AHBSLAVE_AREA0xfffff80042 #define AMBAPP_CONF_AREA0xff00039 #define AMBAPP_MAX_DEVICES 64 40 #define AMBAPP_AHBMASTER_AREA 0xfffff000 41 #define AMBAPP_AHBSLAVE_AREA 0xfffff800 42 #define AMBAPP_CONF_AREA 0xff000 43 43 44 44 typedef enum { 45 GAISLER 46 ESA 45 GAISLER = 1, 46 ESA = 4 47 47 } amba_vendor_id_t; 48 48 49 49 typedef enum { 50 GAISLER_LEON3 51 GAISLER_LEON3DSU 52 GAISLER_ETHAHB 53 GAISLER_APBMST 54 GAISLER_AHBUART 55 GAISLER_SRCTRL 56 GAISLER_SDCTRL 57 GAISLER_APBUART = 0x00C,58 GAISLER_IRQMP = 0x00D,59 GAISLER_AHBRAM = 0x00E,60 GAISLER_GPTIMER 61 GAISLER_PCITRG 62 GAISLER_PCISBRG 63 GAISLER_PCIFBRG 64 GAISLER_PCITRACE 65 GAISLER_PCIDMA 66 GAISLER_AHBTRACE 67 GAISLER_ETHDSU 68 GAISLER_PIOPORT = 0x01A,69 GAISLER_AHBJTAG 70 GAISLER_SPW 71 GAISLER_ATACTRL 72 GAISLER_VGA 73 GAISLER_KBD 74 GAISLER_ETHMAC = 0x01D,75 GAISLER_DDRSPA 76 GAISLER_EHCI 77 GAISLER_UHCI 78 GAISLER_SPW2 79 GAISLER_DDR2SPA = 0x02E,80 GAISLER_AHBSTAT 81 GAISLER_FTMCTRL 82 ESA_MCTRL = 0x00F,50 GAISLER_LEON3 = 0x003, 51 GAISLER_LEON3DSU = 0x004, 52 GAISLER_ETHAHB = 0x005, 53 GAISLER_APBMST = 0x006, 54 GAISLER_AHBUART = 0x007, 55 GAISLER_SRCTRL = 0x008, 56 GAISLER_SDCTRL = 0x009, 57 GAISLER_APBUART = 0x00c, 58 GAISLER_IRQMP = 0x00d, 59 GAISLER_AHBRAM = 0x00e, 60 GAISLER_GPTIMER = 0x011, 61 GAISLER_PCITRG = 0x012, 62 GAISLER_PCISBRG = 0x013, 63 GAISLER_PCIFBRG = 0x014, 64 GAISLER_PCITRACE = 0x015, 65 GAISLER_PCIDMA = 0x016, 66 GAISLER_AHBTRACE = 0x017, 67 GAISLER_ETHDSU = 0x018, 68 GAISLER_PIOPORT = 0x01a, 69 GAISLER_AHBJTAG = 0x01c, 70 GAISLER_SPW = 0x01f, 71 GAISLER_ATACTRL = 0x024, 72 GAISLER_VGA = 0x061, 73 GAISLER_KBD = 0x060, 74 GAISLER_ETHMAC = 0x01d, 75 GAISLER_DDRSPA = 0x025, 76 GAISLER_EHCI = 0x026, 77 GAISLER_UHCI = 0x027, 78 GAISLER_SPW2 = 0x029, 79 GAISLER_DDR2SPA = 0x02e, 80 GAISLER_AHBSTAT = 0x052, 81 GAISLER_FTMCTRL = 0x054, 82 ESA_MCTRL = 0x00f, 83 83 } amba_device_id_t; 84 84 … … 109 109 110 110 typedef struct { 111 unsigned int addr : 12;112 unsigned int reserved : 2;113 unsigned int prefetchable : 1;114 unsigned int cacheable : 1;115 unsigned int mask : 12;116 unsigned int type : 4;111 unsigned int addr : 12; 112 unsigned int reserved : 2; 113 unsigned int prefetchable : 1; 114 unsigned int cacheable : 1; 115 unsigned int mask : 12; 116 unsigned int type : 4; 117 117 } __attribute__((packed)) ambapp_bar_t; 118 118 119 119 typedef struct { 120 unsigned int vendor_id : 8;121 unsigned int device_id : 24;122 unsigned int reserved : 2;123 unsigned int version : 5;124 unsigned int irq : 5;120 unsigned int vendor_id : 8; 121 unsigned int device_id : 24; 122 unsigned int reserved : 2; 123 unsigned int version : 5; 124 unsigned int irq : 5; 125 125 uint32_t user_defined[3]; 126 126 ambapp_bar_t bar[4]; … … 128 128 129 129 typedef struct { 130 unsigned int ram_read_ws : 1;131 unsigned int ram_write_ws : 1;132 unsigned int ram_width : 2;133 unsigned int rmw : 1;134 unsigned int rbrdy : 1;130 unsigned int ram_read_ws : 1; 131 unsigned int ram_write_ws : 1; 132 unsigned int ram_width : 2; 133 unsigned int rmw : 1; 134 unsigned int rbrdy : 1; 135 135 unsigned int : 1; 136 unsigned int bank_size : 4;137 unsigned int si : 1;138 unsigned int se : 1;136 unsigned int bank_size : 4; 137 unsigned int si : 1; 138 unsigned int se : 1; 139 139 unsigned int : 1; 140 unsigned int ms : 1;140 unsigned int ms : 1; 141 141 unsigned int : 1; 142 unsigned int d64 : 1;143 unsigned int sdram_cmd : 2;144 unsigned int sdram_colsz : 2;145 unsigned int sdram_banksz : 3;146 unsigned int tcas : 1;147 unsigned int trfc : 3;148 unsigned int trp : 1;149 unsigned int sdrf : 1;142 unsigned int d64 : 1; 143 unsigned int sdram_cmd : 2; 144 unsigned int sdram_colsz : 2; 145 unsigned int sdram_banksz : 3; 146 unsigned int tcas : 1; 147 unsigned int trfc : 3; 148 unsigned int trp : 1; 149 unsigned int sdrf : 1; 150 150 } __attribute__((packed)) mctrl_mcfg2_t; 151 151 152 amba_device_t amba_devices[AMBAPP_MAX_DEVICES];153 int amba_devices_found;154 bool amba_fake;155 uintptr_t amba_uart_base;152 extern amba_device_t amba_devices[AMBAPP_MAX_DEVICES]; 153 extern int amba_devices_found; 154 extern bool amba_fake; 155 extern uintptr_t amba_uart_base; 156 156 157 void ambapp_scan(void);158 bool ambapp_fake(void);159 void ambapp_qemu_fake_scan(void);160 void ambapp_print_devices(void);161 amba_device_t *ambapp_lookup_first(amba_vendor_id_t, amba_device_id_t);157 extern void ambapp_scan(void); 158 extern bool ambapp_fake(void); 159 extern void ambapp_qemu_fake_scan(void); 160 extern void ambapp_print_devices(void); 161 extern amba_device_t *ambapp_lookup_first(amba_vendor_id_t, amba_device_id_t); 162 162 163 163 #endif
Note:
See TracChangeset
for help on using the changeset viewer.