rv64im_min_uart.nx
buildroot/runtime/_hdl_build/rv64im_min_uart.nx
about
dependencies 2 imports · 35 importers
diagram shows first 10 each side; +0 more imports, +25 more importers in the complete lists below.
imports: nx_syscalls.nxnishi_hdl_primitives.nx
imported by: _gpu_run.nx_nvme_diag.nxnx_bootcap.nxnx_emu_bench.nxnx_evo_isa_sov.nxnx_geneal_energy_sov.nxnx_isa_cf_sov.nxnx_isa_equiv_sov.nxnx_isa_loop_sov.nxnx_isa_run_sov.nxnx_isa_synth_sov.nxnx_nishios_window.nxnx_nxc_baremetal.nxnx_nxc_run.nxnx_rv64_amo_gate.nxnx_rv64_csr_trap_oracle.nxnx_rv64_fast_dev_gate.nxnx_rv64_fast_gate.nxnx_rv64_kernel_gate.nxnx_rv64_mmu_oracle.nxnx_rv64_qemu_fuzz.nxnx_rv64_qemu_oracle.nxnx_rv64_realc_gate.nxnx_rv64_run_bin.nxnx_rv64_sdeleg_oracle.nxnx_rv64_snapshot_gate.nxnx_rv64_timer_oracle.nxnx_rv64im_cpu_crosscheck.nxrv64im_min_cpu_crosscheck.nxrv64im_min_elf_loader.nxrv64im_min_gfx_gate.nxrv64im_min_hot_report.nxrv64im_min_kernel_boot_smoke.nxrv64im_min_sim.nxrv64im_min_sim_smoke.nx
structs
| 66 | struct NxUart |
| 167 | struct NxUartPorts |
consts
| 33 | const NX_UART_BASE: i64 = 0x10000000 |
| 34 | const NX_UART_OFFSET_THR: i64 = 0 |
| 35 | const NX_UART_OFFSET_LSR: i64 = 5 |
| 36 | const NX_UART_END: i64 = 0x10000008 // 8 bytes covers all registers |
| 39 | const NX_UART_LSR_DR_BIT: i64 = 0x01 // bit 0: data ready |
| 40 | const NX_UART_LSR_THRE_BIT: i64 = 0x20 // bit 5: TX holding empty |
| 41 | const NX_UART_LSR_TEMT_BIT: i64 = 0x40 // bit 6: TX shift empty |
| 45 | const NX_UART_LSR_TIER_A: i64 = 0x60 // 0b01100000 |
| 48 | const NX_UART_OK: i64 = 0 |
| 49 | const NX_UART_ADDR_OUT_OF_RANGE: i64 = 1 |
| 50 | const NX_UART_BAD_ALIGNMENT: i64 = 2 // 1-byte access required for THR/LSR |
| 63 | const NX_UART_SLOT_TX_COUNT: i64 = 0 |
| 64 | const NX_UART_SLOT_N: i64 = 1 |
| 162 | const NX_UART_WIDTH_ADDR: i64 = 32 |
| 163 | const NX_UART_WIDTH_BYTE: i64 = 8 |
| 164 | const NX_UART_WIDTH_VERDICT: i64 = 4 |
| 165 | const NX_UART_WIDTH_TXD: i64 = 1 // serial line pin |
functions
| 73 | func nx_uart_init(u: *NxUart, storage: *i64, tx_buf: *u8, tx_cap: i64) -> i64 |
| 85 | func nx_uart_addr_in_range(addr: i64) -> i64 |
| 98 | func nx_uart_read8(u: *NxUart, addr: i64, value_out: *i64) -> i64 |
| 124 | func nx_uart_write8(u: *NxUart, addr: i64, value: i64) -> i64 |
| 151 | func nx_uart_tx_count(u: *NxUart) -> i64 |
| 180 | func nx_uart_build(m: *NxHdlModule, ports: *NxUartPorts) -> i64 |