qemu-e2k/hw/arm
Havard Skinnemoen 2ddae9cc04 hw/arm/npcm7xx: add board setup stub for CPU and UART clocks
When booting directly into a kernel, bypassing the boot loader, the CPU and
UART clocks are not set up correctly. This makes the system appear very
slow, and causes the initrd boot test to fail when optimization is off.

The UART clock must run at 24 MHz. The default 25 MHz reference clock
cannot achieve this, so switch to PLL2/2 @ 480 MHz, which works
perfectly with the default /20 divider.

The CPU clock should run at 800 MHz, so switch it to PLL1/2. PLL1 runs
at 800 MHz by default, so we need to double the feedback divider as well
to make it run at 1600 MHz (so PLL1/2 runs at 800 MHz).

We don't bother checking for PLL lock because we know our emulated PLLs
lock instantly.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-13-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-09-14 14:24:59 +01:00
..
allwinner-a10.c hw/sd/allwinner-sdhost: Use AddressSpace for DMA transfers 2020-08-28 10:02:45 +01:00
allwinner-h3.c target-arm queue: 2020-08-28 15:14:40 +01:00
armsse.c target-arm queue: 2020-08-28 15:14:40 +01:00
armv7m.c
aspeed_ast2600.c aspeed_soc: Rename memmap/irqmap enum constants 2020-08-27 14:04:54 -04:00
aspeed_soc.c aspeed_soc: Rename memmap/irqmap enum constants 2020-08-27 14:04:54 -04:00
aspeed.c hw/arm/aspeed: Add board model for Supermicro X11 BMC 2020-09-01 14:21:50 +02:00
bcm2835_peripherals.c
bcm2836.c
boot.c hw/arm/boot: Fix MTE for EL3 direct kernel boot 2020-07-27 16:12:10 +01:00
collie.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
cubieboard.c
digic_boards.c
digic.c
exynos4_boards.c
exynos4210.c
fsl-imx6.c
fsl-imx6ul.c
fsl-imx7.c
fsl-imx25.c
fsl-imx31.c
gumstix.c
highbank.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
imx25_pdk.c
integratorcp.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
Kconfig hw/ssi: NPCM7xx Flash Interface Unit device model 2020-09-14 14:24:59 +01:00
kzm.c
mainstone.c
mcimx6ul-evk.c
mcimx7d-sabre.c
meson.build hw/arm: Add two NPCM7xx-based machines 2020-09-14 14:24:58 +01:00
microbit.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
mps2-tz.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
mps2.c hw/arm/mps2: New board model mps2-an500 2020-09-14 14:23:19 +01:00
msf2-soc.c msf2-soc, stellaris: Don't wire up SYSRESETREQ 2020-08-03 17:55:03 +01:00
msf2-som.c
musca.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
musicpal.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
netduino2.c hw/arm/netduino2, netduinoplus2: Set system_clock_scale 2020-08-03 17:55:03 +01:00
netduinoplus2.c hw/arm/netduino2, netduinoplus2: Set system_clock_scale 2020-08-03 17:55:03 +01:00
npcm7xx_boards.c hw/arm: Wire up BMC boot flash for npcm750-evb and quanta-gsj 2020-09-14 14:24:59 +01:00
npcm7xx.c hw/arm/npcm7xx: add board setup stub for CPU and UART clocks 2020-09-14 14:24:59 +01:00
nrf51_soc.c hw/arm/nrf51_soc: Set system_clock_scale 2020-08-03 17:55:31 +01:00
nseries.c
omap1.c hw/arm/omap1:Remove redundant statement in omap_clkdsp_read() 2020-09-01 11:53:44 +02:00
omap2.c
omap_sx1.c
orangepi.c allwinner-h3: Rename memmap enum constants 2020-08-27 14:04:54 -04:00
palm.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
pxa2xx_gpio.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
pxa2xx_pic.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
pxa2xx.c trivial patches pull request 20200911 2020-09-12 14:23:15 +01:00
raspi.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
realview.c hw/sd/pl181: Do not create SD card within the SD host controller 2020-08-21 16:22:43 +02:00
sabrelite.c
sbsa-ref.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
smmu-common.c hw/arm/smmuv3: Support HAD and advertise SMMUv3.1 support 2020-08-24 10:02:06 +01:00
smmu-internal.h hw/arm/smmu-common: Manage IOTLB block entries 2020-08-24 10:02:06 +01:00
smmuv3-internal.h hw/arm/smmuv3: Advertise SMMUv3.2 range invalidation 2020-08-24 10:02:06 +01:00
smmuv3.c hw/arm/smmuv3: Advertise SMMUv3.2 range invalidation 2020-08-24 10:02:06 +01:00
spitz.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
stellaris.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
stm32f205_soc.c
stm32f405_soc.c
strongarm.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
strongarm.h
sysbus-fdt.c
tosa.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
trace-events hw/arm/smmuv3: Support HAD and advertise SMMUv3.1 support 2020-08-24 10:02:06 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
vexpress.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
virt-acpi-build.c hw/arm/virt-acpi-build:Remove dead assignment in build_madt() 2020-09-01 11:52:25 +02:00
virt.c hw: add compat machines for 5.2 2020-08-19 10:45:48 -04:00
xilinx_zynq.c This PR includes multiple fixes and features for RISC-V: 2020-09-13 20:29:35 +01:00
xlnx-versal-virt.c hw/arm: versal-virt: Correct the tx/rx GEM clocks 2020-09-14 14:24:15 +01:00
xlnx-versal.c hw/arm: xlnx: Set all boards' GEM 'phy-addr' property value to 23 2020-09-09 15:54:18 -07:00
xlnx-zcu102.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
xlnx-zynqmp.c hw/arm: xlnx: Set all boards' GEM 'phy-addr' property value to 23 2020-09-09 15:54:18 -07:00
z2.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00