From 0eae2cea35f659f7aba9cc387e58cae415c2f8d2 Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Wed, 24 Jan 2024 21:41:09 +0100 Subject: parisc: Add initial definition file for HP J6700 workstation Signed-off-by: Helge Deller --- src/parisc/J6700.h | 320 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 320 insertions(+) create mode 100644 src/parisc/J6700.h diff --git a/src/parisc/J6700.h b/src/parisc/J6700.h new file mode 100644 index 0000000..f0a5614 --- /dev/null +++ b/src/parisc/J6700.h @@ -0,0 +1,320 @@ +/* HP J6700 workstation */ +/* AUTO-GENERATED HEADER FILE FOR SEABIOS FIRMWARE */ +/* generated with Linux kernel */ +/* search for PARISC_QEMU_MACHINE_HEADER in Linux */ + +#if 0 +Found devices: +1. Astro BC Runway Port [10] at 0xfffffffffed00000 { type:12, hv:0x582, sv:0xb, rev:0x0 } +2. Elroy PCI Bridge [10:0] at 0xfffffffffed30000 { type:13, hv:0x782, sv:0xa, rev:0x0 } +3. Elroy PCI Bridge [10:2] at 0xfffffffffed34000 { type:13, hv:0x782, sv:0xa, rev:0x0 } +4. Elroy PCI Bridge [10:4] at 0xfffffffffed38000 { type:13, hv:0x782, sv:0xa, rev:0x0 } +5. Elroy PCI Bridge [10:6] at 0xfffffffffed3c000 { type:13, hv:0x782, sv:0xa, rev:0x0 } +6. Duet W2 [32] at 0xfffffffffffa0000 { type:0, hv:0x5dd, sv:0x4, rev:0x0 } +7. Duet W2 [34] at 0xfffffffffffa2000 { type:0, hv:0x5dd, sv:0x4, rev:0x0 } +8. Memory [49] at 0xfffffffffed10200 { type:1, hv:0xa, sv:0x9, rev:0x0 } +#endif + +#define PARISC_MODEL "9000/785/J6700" + +#define PARISC_PDC_MODEL 0x5dd0, 0x491, 0x0, 0x2, 0x77a95f12, 0x100000f0, 0x8, 0xb2, 0xb2 + +#define PARISC_PDC_VERSION 0x0203 + +#define PARISC_PDC_CPUID 0x0267 + +#define PARISC_PDC_CAPABILITIES 0x0007 + +#define PARISC_PDC_ENTRY_ORG 0xfffffff0f0000018 + +#define PARISC_PDC_CACHE_INFO \ + 0xc0000, 0x91802000, 0x20000, 0x0040, 0x0c00 \ + , 0x0001, 0x180000, 0xb1802000, 0x0000, 0x0040 \ + , 0x6000, 0x0001, 0x00f0, 0xd2300, 0x0000 \ + , 0x0000, 0x0001, 0x0000, 0x0000, 0x0001 \ + , 0x0001, 0x00f0, 0xd2000, 0x0000, 0x0000 \ + , 0x0001, 0x0000, 0x0000, 0x0001, 0x0001 + + +#define HPA_fffffffffed00000_DESCRIPTION "Astro BC Runway Port" +static struct pdc_system_map_mod_info mod_info_hpa_fffffffffed00000 = { + .mod_addr = 0xfed00000, + .mod_pgs = 0x8, + .add_addrs = 0x0, +}; +static struct pdc_module_path mod_path_hpa_fffffffffed00000 = { + .path = { .flags = 0x0, .bc = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, .mod = 0xa }, + .layers = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } +}; +static struct pdc_iodc iodc_data_hpa_fffffffffed00000 = { + .hversion_model = 0x0058, + .hversion = 0x0020, + .spa = 0x0000, + .type = 0x000c, + .sversion_rev = 0x0000, + .sversion_model = 0x0005, + .sversion_opt = 0x0088, + .rev = 0x0000, + .dep = 0x0000, + .features = 0x0000, + .checksum = 0x0000, + .length = 0x0000, + /* pad: 0x0000, 0x0000 */ +}; +#define HPA_fffffffffed00000_num_addr 0 +#define HPA_fffffffffed00000_add_addr 0 + + +#define HPA_fffffffffed30000_DESCRIPTION "Elroy PCI Bridge" +static struct pdc_system_map_mod_info mod_info_hpa_fffffffffed30000 = { + .mod_addr = 0xfed30000, + .mod_pgs = 0x2, + .add_addrs = 0x0, +}; +static struct pdc_module_path mod_path_hpa_fffffffffed30000 = { + .path = { .flags = 0x0, .bc = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xa }, .mod = 0x0 }, + .layers = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } +}; +static struct pdc_iodc iodc_data_hpa_fffffffffed30000 = { + .hversion_model = 0x0078, + .hversion = 0x0020, + .spa = 0x0000, + .type = 0x000d, + .sversion_rev = 0x0000, + .sversion_model = 0x0005, + .sversion_opt = 0x0000, + .rev = 0x0000, + .dep = 0x0000, + .features = 0x0000, + .checksum = 0x0000, + .length = 0x0000, + /* pad: 0x0000, 0x0000 */ +}; +#define HPA_fffffffffed30000_num_addr 0 +#define HPA_fffffffffed30000_add_addr 0 + + +#define HPA_fffffffffed34000_DESCRIPTION "Elroy PCI Bridge" +static struct pdc_system_map_mod_info mod_info_hpa_fffffffffed34000 = { + .mod_addr = 0xfed34000, + .mod_pgs = 0x2, + .add_addrs = 0x0, +}; +static struct pdc_module_path mod_path_hpa_fffffffffed34000 = { + .path = { .flags = 0x0, .bc = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xa }, .mod = 0x2 }, + .layers = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } +}; +static struct pdc_iodc iodc_data_hpa_fffffffffed34000 = { + .hversion_model = 0x0078, + .hversion = 0x0020, + .spa = 0x0000, + .type = 0x000d, + .sversion_rev = 0x0000, + .sversion_model = 0x0005, + .sversion_opt = 0x0000, + .rev = 0x0000, + .dep = 0x0000, + .features = 0x0000, + .checksum = 0x0000, + .length = 0x0000, + /* pad: 0x0000, 0x0000 */ +}; +#define HPA_fffffffffed34000_num_addr 0 +#define HPA_fffffffffed34000_add_addr 0 + + +#define HPA_fffffffffed38000_DESCRIPTION "Elroy PCI Bridge" +static struct pdc_system_map_mod_info mod_info_hpa_fffffffffed38000 = { + .mod_addr = 0xfed38000, + .mod_pgs = 0x2, + .add_addrs = 0x0, +}; +static struct pdc_module_path mod_path_hpa_fffffffffed38000 = { + .path = { .flags = 0x0, .bc = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xa }, .mod = 0x4 }, + .layers = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } +}; +static struct pdc_iodc iodc_data_hpa_fffffffffed38000 = { + .hversion_model = 0x0078, + .hversion = 0x0020, + .spa = 0x0000, + .type = 0x000d, + .sversion_rev = 0x0000, + .sversion_model = 0x0005, + .sversion_opt = 0x0000, + .rev = 0x0000, + .dep = 0x0000, + .features = 0x0000, + .checksum = 0x0000, + .length = 0x0000, + /* pad: 0x0000, 0x0000 */ +}; +#define HPA_fffffffffed38000_num_addr 0 +#define HPA_fffffffffed38000_add_addr 0 + + +#define HPA_fffffffffed3c000_DESCRIPTION "Elroy PCI Bridge" +static struct pdc_system_map_mod_info mod_info_hpa_fffffffffed3c000 = { + .mod_addr = 0xfed3c000, + .mod_pgs = 0x2, + .add_addrs = 0x0, +}; +static struct pdc_module_path mod_path_hpa_fffffffffed3c000 = { + .path = { .flags = 0x0, .bc = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xa }, .mod = 0x6 }, + .layers = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } +}; +static struct pdc_iodc iodc_data_hpa_fffffffffed3c000 = { + .hversion_model = 0x0078, + .hversion = 0x0020, + .spa = 0x0000, + .type = 0x000d, + .sversion_rev = 0x0000, + .sversion_model = 0x0005, + .sversion_opt = 0x0000, + .rev = 0x0000, + .dep = 0x0000, + .features = 0x0000, + .checksum = 0x0000, + .length = 0x0000, + /* pad: 0x0000, 0x0000 */ +}; +#define HPA_fffffffffed3c000_num_addr 0 +#define HPA_fffffffffed3c000_add_addr 0 + + +#define HPA_fffffffffffa0000_DESCRIPTION "Duet W2" +static struct pdc_system_map_mod_info mod_info_hpa_fffffffffffa0000 = { + .mod_addr = 0xfffa0000, + .mod_pgs = 0x1, + .add_addrs = 0x0, +}; +static struct pdc_module_path mod_path_hpa_fffffffffffa0000 = { + .path = { .flags = 0x0, .bc = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, .mod = 0x20 }, + .layers = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } +}; +static struct pdc_iodc iodc_data_hpa_fffffffffffa0000 = { + .hversion_model = 0x005d, + .hversion = 0x00d0, + .spa = 0x0000, + .type = 0x0040, + .sversion_rev = 0x0000, + .sversion_model = 0x0002, + .sversion_opt = 0x0048, + .rev = 0x0000, + .dep = 0x0000, + .features = 0x0000, + .checksum = 0x0000, + .length = 0x0000, + /* pad: 0x0000, 0x0000 */ +}; +#define HPA_fffffffffffa0000_num_addr 0 +#define HPA_fffffffffffa0000_add_addr 0 + + +#define HPA_fffffffffffa2000_DESCRIPTION "Duet W2" +static struct pdc_system_map_mod_info mod_info_hpa_fffffffffffa2000 = { + .mod_addr = 0xfffa2000, + .mod_pgs = 0x1, + .add_addrs = 0x0, +}; +static struct pdc_module_path mod_path_hpa_fffffffffffa2000 = { + .path = { .flags = 0x0, .bc = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, .mod = 0x22 }, + .layers = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } +}; +static struct pdc_iodc iodc_data_hpa_fffffffffffa2000 = { + .hversion_model = 0x005d, + .hversion = 0x00d0, + .spa = 0x0000, + .type = 0x0040, + .sversion_rev = 0x0000, + .sversion_model = 0x0002, + .sversion_opt = 0x0048, + .rev = 0x0000, + .dep = 0x0000, + .features = 0x0000, + .checksum = 0x0000, + .length = 0x0000, + /* pad: 0x0000, 0x0000 */ +}; +#define HPA_fffffffffffa2000_num_addr 0 +#define HPA_fffffffffffa2000_add_addr 0 + + +#define HPA_fffffffffed10200_DESCRIPTION "Memory" +static struct pdc_system_map_mod_info mod_info_hpa_fffffffffed10200 = { + .mod_addr = 0xfed10200, + .mod_pgs = 0x8, + .add_addrs = 0x0, +}; +static struct pdc_module_path mod_path_hpa_fffffffffed10200 = { + .path = { .flags = 0x0, .bc = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, .mod = 0x31 }, + .layers = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } +}; +static struct pdc_iodc iodc_data_hpa_fffffffffed10200 = { + .hversion_model = 0x0000, + .hversion = 0x00a0, + .spa = 0x001f, + .type = 0x0041, + .sversion_rev = 0x0000, + .sversion_model = 0x0004, + .sversion_opt = 0x0080, + .rev = 0x0000, + .dep = 0x0000, + .features = 0x0000, + .checksum = 0x0000, + .length = 0x0000, + /* pad: 0x0000, 0x0000 */ +}; +#define HPA_fffffffffed10200_num_addr 0 +#define HPA_fffffffffed10200_add_addr 0 + + +#define PARISC_DEVICE_LIST \ + { .hpa = 0xfffffffffed00000,\ + .iodc = &iodc_data_hpa_fffffffffed00000,\ + .mod_info = &mod_info_hpa_fffffffffed00000,\ + .mod_path = &mod_path_hpa_fffffffffed00000,\ + .num_addr = HPA_fffffffffed00000_num_addr,\ + .add_addr = { HPA_fffffffffed00000_add_addr } },\ + { .hpa = 0xfffffffffed30000,\ + .iodc = &iodc_data_hpa_fffffffffed30000,\ + .mod_info = &mod_info_hpa_fffffffffed30000,\ + .mod_path = &mod_path_hpa_fffffffffed30000,\ + .num_addr = HPA_fffffffffed30000_num_addr,\ + .add_addr = { HPA_fffffffffed30000_add_addr } },\ + { .hpa = 0xfffffffffed34000,\ + .iodc = &iodc_data_hpa_fffffffffed34000,\ + .mod_info = &mod_info_hpa_fffffffffed34000,\ + .mod_path = &mod_path_hpa_fffffffffed34000,\ + .num_addr = HPA_fffffffffed34000_num_addr,\ + .add_addr = { HPA_fffffffffed34000_add_addr } },\ + { .hpa = 0xfffffffffed38000,\ + .iodc = &iodc_data_hpa_fffffffffed38000,\ + .mod_info = &mod_info_hpa_fffffffffed38000,\ + .mod_path = &mod_path_hpa_fffffffffed38000,\ + .num_addr = HPA_fffffffffed38000_num_addr,\ + .add_addr = { HPA_fffffffffed38000_add_addr } },\ + { .hpa = 0xfffffffffed3c000,\ + .iodc = &iodc_data_hpa_fffffffffed3c000,\ + .mod_info = &mod_info_hpa_fffffffffed3c000,\ + .mod_path = &mod_path_hpa_fffffffffed3c000,\ + .num_addr = HPA_fffffffffed3c000_num_addr,\ + .add_addr = { HPA_fffffffffed3c000_add_addr } },\ + { .hpa = 0xfffffffffffa0000,\ + .iodc = &iodc_data_hpa_fffffffffffa0000,\ + .mod_info = &mod_info_hpa_fffffffffffa0000,\ + .mod_path = &mod_path_hpa_fffffffffffa0000,\ + .num_addr = HPA_fffffffffffa0000_num_addr,\ + .add_addr = { HPA_fffffffffffa0000_add_addr } },\ + { .hpa = 0xfffffffffffa2000,\ + .iodc = &iodc_data_hpa_fffffffffffa2000,\ + .mod_info = &mod_info_hpa_fffffffffffa2000,\ + .mod_path = &mod_path_hpa_fffffffffffa2000,\ + .num_addr = HPA_fffffffffffa2000_num_addr,\ + .add_addr = { HPA_fffffffffffa2000_add_addr } },\ + { .hpa = 0xfffffffffed10200,\ + .iodc = &iodc_data_hpa_fffffffffed10200,\ + .mod_info = &mod_info_hpa_fffffffffed10200,\ + .mod_path = &mod_path_hpa_fffffffffed10200,\ + .num_addr = HPA_fffffffffed10200_num_addr,\ + .add_addr = { HPA_fffffffffed10200_add_addr } },\ + { 0, } -- cgit v1.1