nuttx/arch/risc-v/include
Justin Hammond 74ac90f692 arch/risc-v/eic7700x: Add the CRG reset controller.
The Clock and Reset Generator holds the reset line for every block on
the SoC.  This registers all 324 of them with the NuttX reset framework
as a provider implementing assert, deassert, reset and status.

A line is addressed as its control register index times thirty two plus
its bit, across 61 registers, so the ids are sparse in a space of 1952
and decoding one is arithmetic rather than a lookup.

Each register carries three masks over the same bits: which bits are
lines at all, which the hardware will not let software drive, and which
would take down the system that asserted them.  The last are still
registered and can be read and released; only assert and reset refuse
them.  Where each line falls, and why, is recorded beside the table.

The lines are active low, which the manual never states.  It is inferred
from the field naming, the reset defaults and both vendor Linux drivers.
If that inference is wrong then deassert asserts, so the evidence for it
is written out in full rather than left as a convention.

Several lines are absent from the manual, the GPIO resets at offset
0x438 among them.  They were recovered from the vendor device tree and
confirmed by asserting each one and watching the block stop responding.

Registration writes nothing to the hardware.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Justin Hammond <justin@dynam.ac>
2026-09-21 16:29:12 +08:00
..
allwinner-d1 risc-v/allwinner-d1: Add initial Allwinner D1 board support. 2026-08-19 11:54:47 -03:00
bl602 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
bl808 risc-v/bl808: Add I2C driver 2024-12-25 11:03:26 +08:00
c906 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
eic7700x arch/risc-v/eic7700x: Add the CRG reset controller. 2026-09-21 16:29:12 +08:00
esp32c3 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
esp32c3-legacy arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
esp32c6 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
esp32h2 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
esp32p4 arch/risc-v/espressif/esp32p4: Support ESP32-P4 on NuttX 2026-03-09 21:40:25 +01:00
fe310 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
gd32vw55x risc-v/gd32vw55x: add GigaDevice GD32VW553 port (Wi-Fi 6) 2026-07-16 10:03:16 -03:00
hpm6000 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
hpm6750 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
jh7110 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
k210 arch/risc-v/k210: Remove QEMU support 2026-03-23 14:25:29 +08:00
k230 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
litex arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
mpfs arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
qemu-rv arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
rp23xx-rv arch/risc-v/rp23xx-riscv: Add rp23xx RISC-V cores support (Hazard3) 2025-08-11 08:56:27 +08:00
rv32m1 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
sg2000 arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
thead arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
.gitignore
arch.h arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
barriers.h arch/riscv: Add CONFIG_ARCH_RV_ISA_ZICSR_ZIFENCEI for fence.i 2026-06-28 02:17:03 +08:00
csr.h risc-v: Move CSR register manipulation macros to csr.h 2024-12-13 01:29:26 +08:00
elf.h arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
inttypes.h arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
irq.h arch/risc-v/include/irq.h: fix vector context allocated size 2026-09-15 16:10:23 +08:00
limits.h arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
mode.h arch/risc-v: Add CLIC interrupt threshold support 2026-09-13 08:31:16 -03:00
setjmp.h arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
stdarg.h arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
syscall.h arch/risc-v: preserve ra across ecall for fp-chain backtrace 2026-07-16 15:24:12 +08:00
types.h arch/risk-v: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00