| .. | .. |
|---|
| 2 | 2 | #ifndef __ASM_MACH_LOONGSON64_BOOT_PARAM_H_ |
|---|
| 3 | 3 | #define __ASM_MACH_LOONGSON64_BOOT_PARAM_H_ |
|---|
| 4 | 4 | |
|---|
| 5 | +#include <linux/types.h> |
|---|
| 6 | + |
|---|
| 5 | 7 | #define SYSTEM_RAM_LOW 1 |
|---|
| 6 | 8 | #define SYSTEM_RAM_HIGH 2 |
|---|
| 7 | 9 | #define SYSTEM_RAM_RESERVED 3 |
|---|
| .. | .. |
|---|
| 190 | 192 | struct efi_reset_system_t reset_system; |
|---|
| 191 | 193 | }; |
|---|
| 192 | 194 | |
|---|
| 195 | +enum loongson_bridge_type { |
|---|
| 196 | + LS7A = 1, |
|---|
| 197 | + RS780E = 2, |
|---|
| 198 | + VIRTUAL = 3 |
|---|
| 199 | +}; |
|---|
| 200 | + |
|---|
| 193 | 201 | struct loongson_system_configuration { |
|---|
| 194 | 202 | u32 nr_cpus; |
|---|
| 195 | 203 | u32 nr_nodes; |
|---|
| .. | .. |
|---|
| 198 | 206 | u16 boot_cpu_id; |
|---|
| 199 | 207 | u16 reserved_cpus_mask; |
|---|
| 200 | 208 | enum loongson_cpu_type cputype; |
|---|
| 209 | + enum loongson_bridge_type bridgetype; |
|---|
| 201 | 210 | u64 ht_control_base; |
|---|
| 202 | 211 | u64 pci_mem_start_addr; |
|---|
| 203 | 212 | u64 pci_mem_end_addr; |
|---|
| .. | .. |
|---|
| 213 | 222 | u32 nr_sensors; |
|---|
| 214 | 223 | struct sensor_device sensors[MAX_SENSORS]; |
|---|
| 215 | 224 | u64 workarounds; |
|---|
| 225 | + void (*early_config)(void); |
|---|
| 216 | 226 | }; |
|---|
| 217 | 227 | |
|---|
| 218 | 228 | extern struct efi_memory_map_loongson *loongson_memmap; |
|---|
| 219 | 229 | extern struct loongson_system_configuration loongson_sysconf; |
|---|
| 220 | 230 | |
|---|
| 231 | +extern u32 node_id_offset; |
|---|
| 232 | +extern void ls7a_early_config(void); |
|---|
| 233 | +extern void rs780e_early_config(void); |
|---|
| 234 | +extern void virtual_early_config(void); |
|---|
| 235 | + |
|---|
| 221 | 236 | #endif |
|---|