summaryrefslogtreecommitdiff
path: root/components/drivers
AgeCommit message (Collapse)Author
2024-11-26[DM/FEATURE] Support ATA AHCI (#9683)GUI
Add ACHI drivers to support some old platform driver such as SATA. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-26[DM/FIXUP] Add ms sleep for link status changeGuEe-GUI
We should wait a while for success or failure after link status change or will communicate fail with the endpoint. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-26[DM/FIXUP] Fixup PCI device ofw private node for MSIGuEe-GUI
Some PCI device devicetree is like: ```dts pcie@fe270000 { device_type = "pci"; msi-map = <0x1000 0x9c 0x1000 0x1000>; pcie@10 { reg = <0x100000 0x00 0x00 0x00 0x00>; #address-cells = <0x03>; #size-cells = <0x02>; pcie@10,0 { reg = <0x00 0x00 0x00 0x00 0x00>; }; }; }; ``` that the pcie@10,0 have a private ofw node, it will find property name `msi-map` or `msi-parent` fail. We should only find the property in host bridge's ofw node. Signed-off-by: GuEe-GUI <[email protected]>
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-25[DM/FEATURE] Support hardware mailbox (#9599)GUI
* [DM/FEATURE] Support hardware mailbox * [MAILBOX/PIC] Add PIC Mailbox drivers. The mailbox device(s) may be instantiated in one of three equivalent way: Device Tree node, eg.: ```dts interrupt-controller@0 { interrupt-controller; #interrupt-cells = <1>; }; pic_mailbox@10000 { compatible = "rt-thread,pic-mailbox"; reg = <0x10000 0x100>; position = <0>; interrupts = <34>; peer-interrupts = <35>; uid = <0>; #mbox-cells = <1>; }; ``` Signed-off-by: GuEe-GUI <[email protected]>
2024-11-25[DM/FEATURE] Support PHY (external) (#9597)GUI
This framework will be of use only to devices that use external PHY (PHY functionality is not embedded within the controller). Use in PCIE, USB, HDMI, DP... Signed-off-by: GuEe-GUI <[email protected]>
2024-11-24[drivers] fixed a minor typo in the comments of dev_serial_v2.cPermissionDenied7335
2024-11-24[DM/FEATURE] Support NVME (#9591)GUI
* [DM/FEATURE] Support NVME 1. Support PRP and SGL (>= NVME v1.1) transport. 2. Support MSI/MSI-X for IO queues. 3. Support NVME on PCI. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-24[klibc] add rt_vsnprintf_std.c and rename RT_KLIBC_USING_VSNPRINTF_LONGLONGMeco Man
2024-11-22[DM/FEATURE] Support SCSI bus (#9592)GUI
* [DM/FEATURE] Support block for SCSI 1. Support SD and CD-ROM. 2. SD will port to UFS and ATA device. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-22[DM/FEATURE] Support DMA management (#9682)GUI
1. DMA pool management for platform. 2. DMA engine driver API. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-21[DM/FEATURE] Support IIO (Industrial I/O) (#9598)GUI
[DM/FEATURE] Support IIO (Industrial I/O) Signed-off-by: GuEe-GUI <[email protected]>
2024-11-21[DM/FEATURE] Support import SoC Pinctrl configGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-11-21[DM/FIXUP] Fixup pinctrl depend autoGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-11-20[DM/FEATURE] make SoC Kconfig import easyGuEe-GUI
Open Kconfig will not fail if using osource, This way can make SoC Kconfig to DM easy. Link: ecb89b1370ec27be650a0a2fae7c6802b4246933 Signed-off-by: GuEe-GUI <[email protected]>
2024-11-20[DM/FIXUP] Fixup MSI first IRQ read offsetGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-11-20[DM/FIXUP] Fixup PCI MSI global irq mapGuEe-GUI
Don't use `irq` as a var when clear MSI global irq map, the irq which alloc before will rewrite. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-20[DEVICE/SDIO] port to the blockGuEe-GUI
1. remove gpt. 2. remove block device custom. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-20[DM/FEATURE] Support simple block layerGuEe-GUI
1. Disk and blk device management. 2. Support partitions probe auto. 3. Support DFS and user mode fops, ioctl. 4. Add a cmd for blk info. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-20[DM/FEATURE] Support MFD sysconGuEe-GUI
MFD (Multifunction device) with System Controller Register Read/Write. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-20[DM/FEATURE] Support import SoC CLK configGuEe-GUI
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-11-19[components][driver]add phy and mdio buszhuzhuzhu
old phy bus is too simple add phy_bus is not adapt rt_bus framework,so writer a stronger phy bus framework. here is my commit message: add mdio bus and phy bus to kernel,the phy bus use rt_bus framewok ,driver writer can write phy_driver first .when mac driver need to use phy they can register phy_device and pjhy_devie will serach for driver which match by uid and mask,if no driver match with the device that you register,phy_bus will return the genphy to you device,the genphy driver is the general driver for phy,so you can use it but it can not support the capcity of chip it may be cause performance is not up to peak
2024-11-18[DM/FEATURE] Support clock subprobe in OFWGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-11-18[DM/FEATURE] Support driver depends fix autoGuEe-GUI
We need a API to fix the driver load auto when a second driver get it in probe process that we can not be careful of the driver-to-driver's depends in different SoC. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-18[DM/FIXUP] remove OFW switch macrosGuEe-GUI
The drivers will support OFW and name probe both. We should make build OK when OFW is disable. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-18[DM/FEATURE] DM Device IDA managementGuEe-GUI
Drivers can manage their own IDs without having to concern themselves with the register/unregister in system Link: https://github.com/RT-Thread/rt-thread/issues/9534 Signed-off-by: GuEe-GUI <[email protected]>
2024-11-18add headzhuzhuzhu
2024-11-18add ofw api to of net,driver writer can use this api get phy modes or get ↵zhujiale
mac address
2024-11-13fix:[CAN][STM32]open时立刻启动can_start,还未完成其他配置,可能 ↵wdfk-prog
导致异常
2024-11-03:truck: renaming: move `smp` to `smp_call`Shell
2024-11-03feat: smp_call: added signaling call_reqShell
This patch introduces `rt_smp_call_request` API to handle queued requests across cores with user provided data buffer, which provides a way to request IPI through a non-blocking pattern. It also resolved several issues in the old implementation: - Multiple requests from different cores can not be queued in the work object of the target core. - Data racing on `rt_smp_work` of same core. If multiple requests came in turns, or if the call is used by the target cpu, while a new request is coming, the value will be overwrite. - Memory vulnerability. The rt_smp_event is allocated on stack, though the caller may not wait until the call is done. - API naming problem. Actually we don't provide a way to issue an IPI to ANY core in mask. What the API do is aligned to MANY pattern. - FUNC_IPI registering to PIC. Changes: - Declared and configured the new `RT_SMP_CALL_IPI` to support functional IPIs for task requests across cores. - Replaced the single `rt_smp_work` array with `call_req_cores` to manage per-core call requests safely. - Added `_call_req_take` and `_call_req_release` functions for atomic handling of request lifetimes, preventing data race conditions. - Replaced single event handling with a queue-based approach (`call_queue`) for efficient multi-request processing per core. - Introduced `rt_smp_call_ipi_handler` to process queued requests, reducing IPI contention by only sending new requests when needed. - Implemented `_smp_call_remote_request` to handle remote requests with specific flags, enabling more flexible core-to-core task signaling. - Refined `rt_smp_call_req_init` to initialize and track requests with atomic usage flags, mitigating potential memory vulnerabilities. Signed-off-by: Shell <[email protected]>
2024-10-24add missing extern "C" in header to support cppKai
2024-10-19update(cherryusb): update to v1.4.1sakumisu
2024-10-11[components][smp]remove redundant memset & unlock in smpzms123456
2024-10-09[drivers][spi] Fixed an issue that caused spi bus deadlock in the spi ↵Yuqiang Wang
configuration
2024-10-08[doxygen][rsoc]add pwm touch can i2c spi driver example for doxygenCYFS
2024-10-06feat:[drivers][spi] rt_spi_configure 添加互斥保护Meco Man
2024-10-06feat:[drivers][spi] rt_spi_bus_configure 添加 -RT_EBUSY ↵wdfk-prog
返回值,并增加说明注释
2024-10-05[doxygen]add pin driver example for doxygenCYFS3
2024-10-05[feat] add pci api,the pci/pcie driverzhuzhuzhu
add pci api,the pci/pcie driver writer can use this to get resource of current device with flag,there are three flag : 1. PCI_BUS_REGION_F_MEM it mean memory space 2. PCI_BUS_REGION_F_IO it mean io space 3. PCI_BUS_REGION_F_PREFETCH it mean prefetchable memory
2024-10-04[components][i2c] 修改为debug等级打印wdfk-prog
2024-09-29fix rtc alarm thread parameters issuemilo
2024-09-29[bsp][nxp][rsoc] Fix compilation issues with bsp of nxp/lxp serieshydevcode
2024-09-29[dev] make RTC alarm internal thread's attributes configurablemilo
2024-09-29[doxygen][rsoc]add dac driver example for doxygen (#9483)CYFS
2024-09-26[doxygen]add rtc devices example for doxygenCYFS
2024-09-25[doxygen]add dac driver example for doxygenCYFS
2024-09-25[doxygen][rsoc] add adc driver example for doxygen (#9465)CYFS
* [doxygen] add adc driver example for doxygen * add data structures
2024-09-24smpzhujiale