<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rt-thread.git/components/drivers/pci, branch v5.2.0-beta</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/rt-thread.git/atom/components/drivers/pci?h=v5.2.0-beta</id>
<link rel='self' href='http://cgit.235523.xyz/rt-thread.git/atom/components/drivers/pci?h=v5.2.0-beta'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/'/>
<updated>2025-02-11T06:58:18Z</updated>
<entry>
<title>[DM] Replace spinlock static init by RT_DEFINE_SPINLOCK</title>
<updated>2025-02-11T06:58:18Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2025-02-10T06:19:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=f50607628192b7ad1828e811bba238993b9afd55'/>
<id>urn:sha1:f50607628192b7ad1828e811bba238993b9afd55</id>
<content type='text'>
Signed-off-by: GuEe-GUI &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>[DM/FIXUP] Fixup PCI build</title>
<updated>2024-12-13T02:39:20Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2024-12-11T11:28:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=d248a3a2887dc4ec56c5d9cf8ffa535665f42eeb'/>
<id>urn:sha1:d248a3a2887dc4ec56c5d9cf8ffa535665f42eeb</id>
<content type='text'>
1. Add PCI include in rtdevice.h
2. Fixup `RT_KEY_ENABLED` loss.
3. remove waring type of `dw_pcie_ep_get_func_from_ep` return.

Signed-off-by: GuEe-GUI &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>[DM/PCI] Add DesignWare PCIe RC/EP base drivers</title>
<updated>2024-11-28T01:46:58Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2024-11-27T03:29:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=88b8310d163c192ae2cfed4ca4b6260a027a889a'/>
<id>urn:sha1:88b8310d163c192ae2cfed4ca4b6260a027a889a</id>
<content type='text'>
Too many PCI controllers base on DesignWare PCIe.
This is a modules.

Signed-off-by: GuEe-GUI &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>[DM/PCI] Add memory window pool for EP</title>
<updated>2024-11-28T01:46:58Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2024-11-27T09:13:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=50982cd970fc5b70830be0cb7c71b1bc50fca5b0'/>
<id>urn:sha1:50982cd970fc5b70830be0cb7c71b1bc50fca5b0</id>
<content type='text'>
Signed-off-by: GuEe-GUI &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>[DM/FIXUP] Add ms sleep for link status change</title>
<updated>2024-11-26T03:14:51Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2024-11-25T12:42:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=71520fa9f1b769fa838e39ea5f00175424154376'/>
<id>urn:sha1:71520fa9f1b769fa838e39ea5f00175424154376</id>
<content type='text'>
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 &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>[DM/FIXUP] Fixup PCI device ofw private node for MSI</title>
<updated>2024-11-26T03:14:51Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2024-11-07T05:52:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=1ac80442947e975cbb338c942eb6127bd5464fc1'/>
<id>urn:sha1:1ac80442947e975cbb338c942eb6127bd5464fc1</id>
<content type='text'>
Some PCI device devicetree is like:
```dts
pcie@fe270000 {
    device_type = "pci";
    msi-map = &lt;0x1000 0x9c 0x1000 0x1000&gt;;

    pcie@10 {
        reg = &lt;0x100000 0x00 0x00 0x00 0x00&gt;;
        #address-cells = &lt;0x03&gt;;
        #size-cells = &lt;0x02&gt;;

        pcie@10,0 {
            reg = &lt;0x00 0x00 0x00 0x00 0x00&gt;;
        };
    };
};
```

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 &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>[DM/FIXUP] Fixup MSI first IRQ read offset</title>
<updated>2024-11-20T08:34:10Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2024-11-18T11:42:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=86ba3b666f2b9be4a50ac874d4732f45e06e5e9f'/>
<id>urn:sha1:86ba3b666f2b9be4a50ac874d4732f45e06e5e9f</id>
<content type='text'>
Signed-off-by: GuEe-GUI &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>[DM/FIXUP] Fixup PCI MSI global irq map</title>
<updated>2024-11-20T08:34:10Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2024-11-18T09:46:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=34cf382c8bce3b0e9799c9f881cd6df35075854e'/>
<id>urn:sha1:34cf382c8bce3b0e9799c9f881cd6df35075854e</id>
<content type='text'>
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 &lt;2991707448@qq.com&gt;
</content>
</entry>
<entry>
<title>[feat] add pci api,the pci/pcie driver</title>
<updated>2024-10-05T06:30:52Z</updated>
<author>
<name>zhuzhuzhu</name>
<email>945386260@qq.com</email>
</author>
<published>2024-10-05T06:30:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=ef426851ea3cc4aaf2beda8862cc0e0953cf4b6c'/>
<id>urn:sha1:ef426851ea3cc4aaf2beda8862cc0e0953cf4b6c</id>
<content type='text'>
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</content>
</entry>
<entry>
<title>[DM/Feature] Basic PCI/PCIe (Peripheral Component Interconnect Express) bus</title>
<updated>2024-09-06T21:45:03Z</updated>
<author>
<name>GuEe-GUI</name>
<email>2991707448@qq.com</email>
</author>
<published>2024-05-30T09:47:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=2168ed8e7d408aeada3427ebbb90bb8996885668'/>
<id>urn:sha1:2168ed8e7d408aeada3427ebbb90bb8996885668</id>
<content type='text'>
PCI/PCIe have better performance and more devices support, such as
NVMe, GPU, Powerful NIC (Like RDMA). PCI/PCIe can access control by
IOMMU that the virtualiztion and userspace driver will more safety.
PCI/PCIe device could hot plugging, no design modifications SoC required,
PCI/PCIe on Embedded SoC is popular now.
We make a simple framework to support them.

Feature Lists:
1.PCI INTx: the INT[A-D] pin IRQ for legacy PCI, work with platform PIC.
2.MSI/MSI-X: the message write IRQ for PCIe, work with platform's PIC.
3.PME: we only support the D0, D1, D2, D3HOT, D3COLD init by framework.
4.Endpoint: a simple EP framework for PCI FPGA or NTB function.
5.OFW: we only support work on OFW SoC, ACPI support in the future maybe.

Host controller:
1. Common PCI host controller on ECAM.
2. Generic PCI host controller on ECAM.

Signed-off-by: GuEe-GUI &lt;2991707448@qq.com&gt;
</content>
</entry>
</feed>
