__ssp_early_readl(9)
π __ssp_early_readl β read from a SiFive serial port register (early) β¨
okay so bestie, welcome to the Kernel API Manual page for __ssp_early_readl β yes that's two underscores, don't come for me, that's just her name π
πΈ SYNOPSIS
u32 __ssp_early_readl (struct uart_port *port , u16 offs );
that's it. that's the whole vibe check. two args, one u32 coming back at you π¦
β¨ ARGUMENTS
portβ a pointer to astruct uart_portrecord. literally just the port, she's holding the whole struct for you π«Άoffsβ the register address offset, measured from the IP block base address. so like, where in the block you're poking around π
π DESCRIPTION
so picture this: you hand her a pointer port to a struct uart_port record, right? and then she reads the contents of the IP block register that's chilling at offset offs from the IP block base, and returns it to you. that's the whole personality. no cap, that's it π₯
the important lore tho: this function is intended for early console use. early. as in before everything else is up and running early. she's the main character of the pre-boot era π
π CONTEXT
who's allowed to call her? it's giving exclusive guest list ngl π she's intended to be called only by:
- the
earlyconsolecode, or __ssp_readlor__ssp_writel(in this driver)
so like, don't just show up uninvited, okay? iykyk π
β RETURN
she returns the register value read from the UART. that's the whole gift. the register value. from the UART. periodt π
π§ SEE ALSO
okay gather round, the whole friend group is here π
- Kernel file
./drivers/tty/serial/sifive.c struct sifive_serial_port(9)__ssp_early_writel(9)__ssp_writel(9)__ssp_readl(9)sifive_serial_is_txfifo_full(9)__ssp_transmit_char(9)__ssp_transmit_chars(9)__ssp_enable_txwm(9)__ssp_enable_rxwm(9)__ssp_disable_txwm(9)__ssp_disable_rxwm(9)__ssp_receive_char(9)__ssp_receive_chars(9)__ssp_update_div(9)__ssp_update_baud_rate(9)__ssp_set_stop_bits(9)__ssp_wait_for_xmitr(9)sifive_serial_clk_notifier(9)
π¦ and that's the page!! she lives in ./drivers/tty/serial, she's dated October 2026, and she's filed under __ssp_early_readl(9) in the Kernel API Manual. go forth and read those registers early, bestie πβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms