summaryrefslogtreecommitdiff
path: root/components/drivers/ofw
AgeCommit message (Collapse)Author
7 days[ARCH/RISC-V] Next RISC-V (#10320)GUI
* [libcpu][risc-v] Refactor the RISC-V architecture port Introduce an opt-in unified RISC-V common layer for RV32 and RV64 while keeping existing BSPs on the legacy implementation during migration. - use ARCH_RISCV and ARCH_CPU_64BIT for architecture and XLEN selection - unify context, trap, MMU, cache, timer, SBI, SMP and ISA handling - add PLIC, CLIC, ACLINT, APLIC and IMSIC support - map physical hart IDs to contiguous logical CPU IDs - add T-Head vendor overrides while preserving legacy ports - migrate qemu-virt64-riscv with RV32 and RV64 support - update clock_time, MM, LWP, OFW, PCI and Rust integration Existing BSPs continue using legacy_common or common64 unless they select RT_USING_RISCV_NEW_COMMON. Signed-off-by: GuEe-GUI <[email protected]> * [libcpu][risc-v] skip disabled CPU nodes in early FDT walk Rbb666 noted that rt_hw_fdt_install_early() walked every /cpus child without checking status, so disabled cores still joined hart registration and MMU capability probing. Skip nodes that are not okay/ok via rt_fdt_device_is_available() before reading reg or mmu-type. Signed-off-by: seteiro <[email protected]> * [libcpu][risc-v] Fix per-CPU page table mapping - reuse existing non-leaf page table entries when mapping per-CPU areas - reject leaf entry conflicts instead of overwriting mappings Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]> Signed-off-by: seteiro <[email protected]> Co-authored-by: seteiro <[email protected]>
9 days[drivers][ofw] Fix phandle hash buffer overflowHuoyanlifusu
2026-08-14[DM/OFW][PCI] Fix address translation and PCI resource enumeration (#11677)GUI
* [DM/OFW][PCI] Fix address translation and PCI resource enumeration Rework OFW address translation to walk nested bus ranges in the correct direction and cache "ranges" and "dma-ranges" independently. Handle PCI three-cell addresses without treating the PCI flags cell as part of the address, and fix CPU-to-DMA and DMA-to-CPU translation across nested buses. Fix PCI BAR sizing and assignment by disabling address decoding during probing, preserving BAR attribute bits, and programming 64-bit BARs correctly. Add device enable and disable helpers so resources and bus mastering are enabled before driver probe. Program bridge memory and prefetch windows while scanning downstream buses, correctly link child buses into the PCI bus hierarchy, and avoid unnecessary PCIe link retraining when the link is already active. Allow host bridges without a device-tree pci-domain property by allocating unique domains dynamically, while preserving explicit domain assignments. Fix MSI and MSI-X IRQ setup, rollback, vector addressing, and affinity selection. Add the Raspberry Pi PCI vendor ID for RP1 and other downstream devices. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format * drivers: pci: address OFW review feedback * style: format PCI and OFW changes for current master --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-12feat(dm): support OFW on Cortex-M targetsRbb666
Add the ARM NVIC PIC driver, no-MMU I/O mapping, built-in FDT support, and Cortex-M CPU hooks required by the native RT-Thread device model.
2025-12-11[drivers][ofw] Update OFW #11004GUI
Fixup fdt address reg and cells parse. Support only option name way for earlycon. Find the console device when using "stdout-path".
2025-04-14[DM/FDT] Fix garble when booting1078249029
Fix garble caused by empty implementation of earlycon series function in driver.If driver doesn't offer earlycon_id or rt_f dt_earlycon_id.setup function but open option, the checking of best_earlycon_id will failed. Signed-off-by: 1078249029 <[email protected]>
2025-03-05[DM/OFW] check available in stub probeGUI
device node should not probe in stub if device is not available.
2025-02-11[DM] Replace spinlock static init by RT_DEFINE_SPINLOCKGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-02-10[DM/FDT] Fixup earlycon loss old messages.GuEe-GUI
The `rt_fdt_scan_chosen_stdout` will init fdt_earlycon data without `msg` only, the `msg_idx` should not clean, too. Because we check if have old messages by `msg_idx` Signed-off-by: GuEe-GUI <[email protected]>
2024-12-14[OFW] Delete redundant strcasecmp functionwumingzi
2024-12-09[componets] fix when printf 0 addr by %p will return nilzhujiale
2024-11-26[DM/FEATURE] Support reset controller (#9630)GUI
* [DM/FEATURE] Support reset controller Reset controllers are central units that control the reset signals to multiple peripherals. The reset controller API is split into two parts: 1. The consumer driver interface, which allows peripheral drivers to request control over their reset input signals 2. The reset controller driver interface which is used by drivers for reset controller devices to register their reset controls to provide them to the consumers. * [RESET/SIMPLE] Support simple reset Currently this driver supports: - Altera SoCFPGAs - ASPEED BMC SoCs - Bitmain BM1880 SoC - Realtek SoCs - RCC reset controller in STM32 MCUs - Allwinner SoCs - SiFive FU740 SoCs - Sophgo SoCs Signed-off-by: GuEe-GUI <[email protected]>
2024-11-20[DM/FIXUP] Fixup CLKGuEe-GUI
1. Default return OK when input NULL (if is not necessary in device). 2. Support object parse in OFW. 3. Support CLK depends fix auto. 4. Fixup rt_clk_array_prepare_enable and rt_clk_array_disable_unprepare. Signed-off-by: GuEe-GUI <[email protected]>
2024-09-19[DM/FDT] Fixup memory address reserved and translate in earlyGuEe-GUI
1.Fixup `fdt_reserved_memory_reg` loop time. 2.Fixup `rt_fdt_translate_address` cells value reader. Signed-off-by: GuEe-GUI <[email protected]>
2024-09-13[FEATURE/OFW] add address reverse/translate for DMA/CPU's addressGuEe-GUI
DMA and CPU address view is different, we need to convert them: +--------+ +--------+ +---------+ +--------+ | | | | | | | | | CPUs | | DEV0 | | IOMMU <----+ | DEV1 | | | | | | | | | | +----+---+ +----+---+ +----+----+ | +----+---+ | | | | | 0x200000 | 0x1000 | 0x1000 | | 0x8000 | | | | | | +-------------+-----------+ +----------+ | | +--------v----------------------------------------------------+ | | | Address BUS | | | +-------------------------------------------------------------+ Signed-off-by: GuEe-GUI <[email protected]>
2024-09-13[FEATURE/FDT] Add bootargs select in earlyGuEe-GUI
Maybe use for memory/DMA buffer init before ofw_node unflatten. Signed-off-by: GuEe-GUI <[email protected]>
2024-09-13[FIXUP/OFW] ofw_parse_object failGuEe-GUI
The ofw parse should: 1. Check obj_name EQU the current node's rt_data. 2. Find the next object name. 3. goto "2" until obj_name EQU the cmp_cell's obj_name. Signed-off-by: GuEe-GUI <[email protected]>
2024-09-13[FIXUP/OFW] remove the last empty string for bootargsGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-09-13[FIXUP/OFW] DTS version header always v1.0GuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-09-13[FIXUP/OFW] Increase append child node's ref_countGuEe-GUI
rt_ofw_append_child append a new child node and return, ref_get is necessary. Signed-off-by: GuEe-GUI <[email protected]>
2024-07-04fix initrd scan errzhao maosheng
2024-06-26[libcpu][aarch64]memory setup using memblock (#9092)zms123456
* memory setup using memblock * map pages later
2024-06-18add cromfs start with bootargs cmdzhujiale
2024-05-30[Feature] Support simple power domain API (#9005)GUI
* [Feature] Power domain for device 1.Support device power on/off. 2.Support attach/detach device. 3.Support power domain driver api. Signed-off-by: GuEe-GUI <[email protected]> * [DM/platform] Enhanced platform bus 1.Add power domain for device. 2.Support `remove` and `shutdown` bus interface. Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]>
2024-05-28[OFW] io ranges use list to storage without ofw data (#8993)GUI
[OFW] io ranges use ptr array to storage without ofw data ofw data is private data for every ofw node that the drivers of ofw node will use item. replace the ranges supported to a ptr array. the ptr array size is config by `RT_USING_OFW_BUS_RANGES_NUMBER` Signed-off-by: GuEe-GUI <[email protected]>
2024-05-28[OFW] Support ID map interface (#8994)GUI
The OFW map id is always use in DMA, PCI, IOMMU bus system to find the device identity. this is a access interface. Signed-off-by: GuEe-GUI <[email protected]>
2024-05-28[OFW] Fixup irq parse map and map mask (#8992)GUI
`map_len` and `map_mask_len` is the count of elements, not the bytes size of elements. Signed-off-by: GuEe-GUI <[email protected]>
2024-05-13[drivers][ofw] fix ofw_alias_scan() bug (#8908)liYangYang
* fix ofw_alias_scan() bug * fix tag_len
2024-04-27[drivers][ofw] Fixed fdt_scan_memory() memory adjustment bug (#8853)liYangYang
* Fixed fdt memory adjustment bug * Modify the memory adjustment logic
2024-04-16[components][drivers]fix some uninitialize err (#8806)zms123456
fix some uninitialize err
2024-04-09[drivers/serial] Introduce hooker for TTY (#8733)Shell
In this patch, a hook list has been introduced to address the concerns regarding coupling issues arising from modifications to the serial code for integrating TTY logic. Signed-off-by: Shell <[email protected]>
2024-03-30[fixup] aarch64 UMP compiler error (#8677)Shell
Signed-off-by: Shell <[email protected]>
2024-03-28sync smart & dfs (#8672)Shell
Signed-off-by: xqyjlj <[email protected]> Signed-off-by: Shell <[email protected]> Co-authored-by: xqyjlj <[email protected]>
2024-03-01[components/driver] update serial (#8567)fangjianzhou
2024-02-29[components][drivers]add pic-gic (#8388)zms123456
2024-01-09[drivers][core] 完善设备模型 (#8384)fangjianzhou
2023-11-28[libcpu][aarch64] 使用设备树对CPU进行初始化 (#8221)fangjianzhou
2023-10-18[kernel][dm]适配新的设备驱动模型 (#8075)zms123456
2023-08-02Prepare some api for DM (#7894)GUI
Signed-off-by: GuEe-GUI <[email protected]>
2023-07-13【dd2.0】Support the Core API for dd2.0 (#7791)ErikChanHub
2023-07-06【ofw】 format encoding of irq.c to utf-8erikchan
2023-07-06【libfdt】replace tab with spaceerikchan
2023-07-05Drivers: Support Open Firmware API and model of PICwusongjie
We support OFW API to replace fdt old API, and add IRQ, IO, Platform-Bus, CPUs ... OFW node contorl. To support work with Device Tree or ACPI in drivers that use IRQ, we make a programmable interrupt controller driver's model. Signed-off-by: GuEe-GUI <[email protected]>