qemu-cr16/hw/misc
Kane-Chen-AS 02cebef5a1 hw/misc/aspeed_sbc: Add CAMP2 support for OTP data reads
The OTP space contains three types of entries: data, conf, and strap.
Data entries consist of two DWORDs, while the other types contain
only one DWORD. This change adds the R_CAMP2 register (0x024 / 4) to
store the second DWORD when reading from the OTP data region.

With this enhancement, OTP reads now correctly return both DWORDs for
data entries via the CAMP registers, along with improved address
validation and error handling.

Signed-off-by: Kane-Chen-AS <kane_chen@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250812094011.2617526-8-kane_chen@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2025-09-29 18:00:20 +02:00
..
macio qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
a9scu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-a10-ccm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-a10-dramc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-cpucfg.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-h3-ccu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-h3-dramc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-h3-sysctrl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-r40-ccu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-r40-dramc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-sid.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-sramc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
applesmc.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
arm11scu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_integrator_debug.c arm: Update infocenter.arm.com URLs 2021-02-11 11:50:14 +00:00
arm_l2x0.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm_sysctl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
armsse-cpu-pwrctrl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
armsse-cpuid.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
armsse-mhu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
armv7m_ras.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_hace.c hw/misc/aspeed_hace: skip automatic zero-init of large array 2025-06-12 13:40:15 -04:00
aspeed_i3c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_lpc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_peci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_sbc.c hw/misc/aspeed_sbc: Add CAMP2 support for OTP data reads 2025-09-29 18:00:20 +02:00
aspeed_scu.c hw/misc/aspeed_scu: Handle AST2600 protection key registers correctly 2025-07-03 13:41:57 +02:00
aspeed_sdmc.c hw/misc/aspeed_sdmc: Skipping dram_init in u-boot for AST2700 2025-07-03 13:41:57 +02:00
aspeed_sli.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_xdma.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
auxbus.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
avr_power.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
axp2xx.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_cprman.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_mbox.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_mphi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_powermgt.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_property.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_rng.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2835_thermal.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
debugexit.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
djmemc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
eccmemctl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
edu.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
empty_slot.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210_clk.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210_pmu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210_rng.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
grlib_ahb_apb_pnp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
i2c-echo.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx6_ccm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx6_src.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx6ul_ccm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx7_ccm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx7_gpr.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx7_snvs.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx7_src.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx8mp_analog.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx8mp_ccm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx25_ccm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx31_ccm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx_ccm.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
imx_rngc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
iosb.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
iotkit-secctl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
iotkit-sysctl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
iotkit-sysinfo.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
ivshmem-flat.c treewide: use qemu_set_blocking instead of g_unix_set_fd_nonblocking 2025-09-19 12:46:07 +01:00
ivshmem-pci.c treewide: use qemu_set_blocking instead of g_unix_set_fd_nonblocking 2025-09-19 12:46:07 +01:00
Kconfig hw/mips: Restrict ITU to TCG 2025-07-15 00:24:26 +02:00
lasi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
led.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mac_via.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
max78000_aes.c hw/misc/max78000_aes: Comment Internal Key Storage 2025-07-21 10:07:53 +01:00
max78000_gcr.c MAX78000: AES implementation 2025-07-08 17:31:59 +01:00
max78000_icc.c MAX78000: ICC Implementation 2025-07-08 17:31:38 +01:00
max78000_trng.c MAX78000: TRNG Implementation 2025-07-08 17:31:38 +01:00
mchp_pfsoc_dmc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mchp_pfsoc_ioscb.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mchp_pfsoc_sysreg.c hw/misc: Add MPFS system reset support 2025-05-19 13:30:24 +10:00
meson.build MAX78000: AES implementation 2025-07-08 17:31:59 +01:00
mips_cmgcr.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mips_cpc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mips_itu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mos6522.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mps2-fpgaio.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mps2-scc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
msf2-sysreg.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm7xx_mft.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm7xx_pwm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm7xx_rng.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm_clk.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm_gcr.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
nrf51_rng.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
omap_clk.c hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
pc-testdev.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pci-testdev.c pci-testdev.c: Add membar-backed option for backing membar 2025-05-14 05:39:14 -04:00
pvpanic-isa.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
pvpanic-mmio.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pvpanic-pci.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
pvpanic.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
sbsa_ec.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sifive_e_aon.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sifive_e_prci.c hw: Remove superfluous includes of hw/hw.h 2021-05-02 17:24:50 +02:00
sifive_test.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
sifive_u_otp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sifive_u_prci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
slavio_misc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32_rcc.c hw/misc/stm32_rcc: Fix stm32_rcc_write() arguments order 2025-06-10 12:59:09 +02:00
stm32f2xx_syscfg.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f4xx_exti.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f4xx_syscfg.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32l4x5_exti.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32l4x5_rcc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32l4x5_syscfg.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
trace-events hw/misc/aspeed_sbc: Connect ASPEED OTP memory device to SBC 2025-09-29 18:00:20 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
tz-mpc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
tz-msc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
tz-ppc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
unimp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virt_ctrl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vmcoreinfo.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-cfi-if.c hw/misc: Introduce the Xilinx CFI interface 2023-09-08 16:41:34 +01:00
xlnx-versal-cframe-reg.c hw/misc/xlnx-versal-cframe-reg: Free FIFO, g_tree on deinit 2025-09-02 17:57:05 +02:00
xlnx-versal-cfu.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
xlnx-versal-crl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal-pmc-iou-slcr.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal-trng.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal-xramc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zynqmp-apu-ctrl.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zynqmp-crf.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
zynq_slcr.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00