armsse.c (c89cef3a2cdfb355258890db8cfd2175add5bbee) | armsse.c (446587a914cfa57c2ce529056a9ca2215bde7111) |
---|---|
1/* 2 * Arm SSE (Subsystems for Embedded): IoTKit 3 * 4 * Copyright (c) 2018 Linaro Limited 5 * Written by Peter Maydell 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 or --- 16 unchanged lines hidden (view full) --- 25#include "hw/qdev-clock.h" 26 27struct ARMSSEInfo { 28 const char *name; 29 uint32_t sse_version; 30 int sram_banks; 31 int num_cpus; 32 uint32_t sys_version; | 1/* 2 * Arm SSE (Subsystems for Embedded): IoTKit 3 * 4 * Copyright (c) 2018 Linaro Limited 5 * Written by Peter Maydell 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 or --- 16 unchanged lines hidden (view full) --- 25#include "hw/qdev-clock.h" 26 27struct ARMSSEInfo { 28 const char *name; 29 uint32_t sse_version; 30 int sram_banks; 31 int num_cpus; 32 uint32_t sys_version; |
33 uint32_t iidr; |
|
33 uint32_t cpuwait_rst; 34 bool has_mhus; 35 bool has_ppus; 36 bool has_cachectrl; 37 bool has_cpusecctrl; 38 bool has_cpuid; 39 Property *props; 40}; --- 24 unchanged lines hidden (view full) --- 65 66static const ARMSSEInfo armsse_variants[] = { 67 { 68 .name = TYPE_IOTKIT, 69 .sse_version = ARMSSE_IOTKIT, 70 .sram_banks = 1, 71 .num_cpus = 1, 72 .sys_version = 0x41743, | 34 uint32_t cpuwait_rst; 35 bool has_mhus; 36 bool has_ppus; 37 bool has_cachectrl; 38 bool has_cpusecctrl; 39 bool has_cpuid; 40 Property *props; 41}; --- 24 unchanged lines hidden (view full) --- 66 67static const ARMSSEInfo armsse_variants[] = { 68 { 69 .name = TYPE_IOTKIT, 70 .sse_version = ARMSSE_IOTKIT, 71 .sram_banks = 1, 72 .num_cpus = 1, 73 .sys_version = 0x41743, |
74 .iidr = 0, |
|
73 .cpuwait_rst = 0, 74 .has_mhus = false, 75 .has_ppus = false, 76 .has_cachectrl = false, 77 .has_cpusecctrl = false, 78 .has_cpuid = false, 79 .props = iotkit_properties, 80 }, 81 { 82 .name = TYPE_SSE200, 83 .sse_version = ARMSSE_SSE200, 84 .sram_banks = 4, 85 .num_cpus = 2, 86 .sys_version = 0x22041743, | 75 .cpuwait_rst = 0, 76 .has_mhus = false, 77 .has_ppus = false, 78 .has_cachectrl = false, 79 .has_cpusecctrl = false, 80 .has_cpuid = false, 81 .props = iotkit_properties, 82 }, 83 { 84 .name = TYPE_SSE200, 85 .sse_version = ARMSSE_SSE200, 86 .sram_banks = 4, 87 .num_cpus = 2, 88 .sys_version = 0x22041743, |
89 .iidr = 0, |
|
87 .cpuwait_rst = 2, 88 .has_mhus = true, 89 .has_ppus = true, 90 .has_cachectrl = true, 91 .has_cpusecctrl = true, 92 .has_cpuid = true, 93 .props = armsse_properties, 94 }, --- 850 unchanged lines hidden (view full) --- 945 return; 946 } 947 if (!object_property_set_int(OBJECT(&s->sysinfo), "SYS_CONFIG", 948 armsse_sys_config_value(s, info), errp)) { 949 return; 950 } 951 object_property_set_int(OBJECT(&s->sysinfo), "sse-version", 952 info->sse_version, &error_abort); | 90 .cpuwait_rst = 2, 91 .has_mhus = true, 92 .has_ppus = true, 93 .has_cachectrl = true, 94 .has_cpusecctrl = true, 95 .has_cpuid = true, 96 .props = armsse_properties, 97 }, --- 850 unchanged lines hidden (view full) --- 948 return; 949 } 950 if (!object_property_set_int(OBJECT(&s->sysinfo), "SYS_CONFIG", 951 armsse_sys_config_value(s, info), errp)) { 952 return; 953 } 954 object_property_set_int(OBJECT(&s->sysinfo), "sse-version", 955 info->sse_version, &error_abort); |
956 object_property_set_int(OBJECT(&s->sysinfo), "IIDR", 957 info->iidr, &error_abort); |
|
953 if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysinfo), errp)) { 954 return; 955 } 956 /* System information registers */ 957 sysbus_mmio_map(SYS_BUS_DEVICE(&s->sysinfo), 0, 0x40020000); 958 /* System control registers */ 959 object_property_set_int(OBJECT(&s->sysctl), "sse-version", 960 info->sse_version, &error_abort); --- 254 unchanged lines hidden --- | 958 if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysinfo), errp)) { 959 return; 960 } 961 /* System information registers */ 962 sysbus_mmio_map(SYS_BUS_DEVICE(&s->sysinfo), 0, 0x40020000); 963 /* System control registers */ 964 object_property_set_int(OBJECT(&s->sysctl), "sse-version", 965 info->sse_version, &error_abort); --- 254 unchanged lines hidden --- |