hw/arm/socs: configure priority bits for existing SOCs
Update the number of priority bits for a number of existing SoCs according to their technical documentation: - STM32F100/F205/F405/L4x5: 4 bits - Stellaris (Sandstorm/Fury): 3 bits Signed-off-by: Samuel Tardieu <sam@rfc1149.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20240106181503.1746200-4-sam@rfc1149.net Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
33995902b4
commit
4a04655c6b
@ -47,6 +47,7 @@
|
|||||||
#define BP_GAMEPAD 0x04
|
#define BP_GAMEPAD 0x04
|
||||||
|
|
||||||
#define NUM_IRQ_LINES 64
|
#define NUM_IRQ_LINES 64
|
||||||
|
#define NUM_PRIO_BITS 3
|
||||||
|
|
||||||
typedef const struct {
|
typedef const struct {
|
||||||
const char *name;
|
const char *name;
|
||||||
@ -1067,6 +1068,7 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board)
|
|||||||
|
|
||||||
nvic = qdev_new(TYPE_ARMV7M);
|
nvic = qdev_new(TYPE_ARMV7M);
|
||||||
qdev_prop_set_uint32(nvic, "num-irq", NUM_IRQ_LINES);
|
qdev_prop_set_uint32(nvic, "num-irq", NUM_IRQ_LINES);
|
||||||
|
qdev_prop_set_uint8(nvic, "num-prio-bits", NUM_PRIO_BITS);
|
||||||
qdev_prop_set_string(nvic, "cpu-type", ms->cpu_type);
|
qdev_prop_set_string(nvic, "cpu-type", ms->cpu_type);
|
||||||
qdev_prop_set_bit(nvic, "enable-bitband", true);
|
qdev_prop_set_bit(nvic, "enable-bitband", true);
|
||||||
qdev_connect_clock_in(nvic, "cpuclk",
|
qdev_connect_clock_in(nvic, "cpuclk",
|
||||||
|
@ -115,6 +115,7 @@ static void stm32f100_soc_realize(DeviceState *dev_soc, Error **errp)
|
|||||||
/* Init ARMv7m */
|
/* Init ARMv7m */
|
||||||
armv7m = DEVICE(&s->armv7m);
|
armv7m = DEVICE(&s->armv7m);
|
||||||
qdev_prop_set_uint32(armv7m, "num-irq", 61);
|
qdev_prop_set_uint32(armv7m, "num-irq", 61);
|
||||||
|
qdev_prop_set_uint8(armv7m, "num-prio-bits", 4);
|
||||||
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m3"));
|
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m3"));
|
||||||
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
||||||
qdev_connect_clock_in(armv7m, "cpuclk", s->sysclk);
|
qdev_connect_clock_in(armv7m, "cpuclk", s->sysclk);
|
||||||
|
@ -127,6 +127,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp)
|
|||||||
|
|
||||||
armv7m = DEVICE(&s->armv7m);
|
armv7m = DEVICE(&s->armv7m);
|
||||||
qdev_prop_set_uint32(armv7m, "num-irq", 96);
|
qdev_prop_set_uint32(armv7m, "num-irq", 96);
|
||||||
|
qdev_prop_set_uint8(armv7m, "num-prio-bits", 4);
|
||||||
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m3"));
|
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m3"));
|
||||||
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
||||||
qdev_connect_clock_in(armv7m, "cpuclk", s->sysclk);
|
qdev_connect_clock_in(armv7m, "cpuclk", s->sysclk);
|
||||||
|
@ -149,6 +149,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
|
|||||||
|
|
||||||
armv7m = DEVICE(&s->armv7m);
|
armv7m = DEVICE(&s->armv7m);
|
||||||
qdev_prop_set_uint32(armv7m, "num-irq", 96);
|
qdev_prop_set_uint32(armv7m, "num-irq", 96);
|
||||||
|
qdev_prop_set_uint8(armv7m, "num-prio-bits", 4);
|
||||||
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m4"));
|
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m4"));
|
||||||
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
||||||
qdev_connect_clock_in(armv7m, "cpuclk", s->sysclk);
|
qdev_connect_clock_in(armv7m, "cpuclk", s->sysclk);
|
||||||
|
@ -102,6 +102,7 @@ static void stm32l4x5_soc_realize(DeviceState *dev_soc, Error **errp)
|
|||||||
object_initialize_child(OBJECT(dev_soc), "armv7m", &s->armv7m, TYPE_ARMV7M);
|
object_initialize_child(OBJECT(dev_soc), "armv7m", &s->armv7m, TYPE_ARMV7M);
|
||||||
armv7m = DEVICE(&s->armv7m);
|
armv7m = DEVICE(&s->armv7m);
|
||||||
qdev_prop_set_uint32(armv7m, "num-irq", 96);
|
qdev_prop_set_uint32(armv7m, "num-irq", 96);
|
||||||
|
qdev_prop_set_uint32(armv7m, "num-prio-bits", 4);
|
||||||
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m4"));
|
qdev_prop_set_string(armv7m, "cpu-type", ARM_CPU_TYPE_NAME("cortex-m4"));
|
||||||
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
qdev_prop_set_bit(armv7m, "enable-bitband", true);
|
||||||
qdev_connect_clock_in(armv7m, "cpuclk", s->sysclk);
|
qdev_connect_clock_in(armv7m, "cpuclk", s->sysclk);
|
||||||
|
Loading…
Reference in New Issue
Block a user