<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/pci, branch v2021.04</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/pci?h=v2021.04</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/pci?h=v2021.04'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2021-03-23T12:36:07Z</updated>
<entry>
<title>pci: layerscape: Change to allocate zeroed memery for struct ls_pcie</title>
<updated>2021-03-23T12:36:07Z</updated>
<author>
<name>Hou Zhiqiang</name>
<email>Zhiqiang.Hou@nxp.com</email>
</author>
<published>2021-03-11T07:30:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ae5cbc43b361cc78040aa4fbb1cacd375eb2db04'/>
<id>urn:sha1:ae5cbc43b361cc78040aa4fbb1cacd375eb2db04</id>
<content type='text'>
As on some incipient Layerscape platforms (LS1043A series) there isn't
separate PF control register block, these registers reside in the LUT
register block, so when the driver detected there isn't 'ctrl', it will
assign the 'lut' address to the ls_pcie-&gt;ctrl.

The current code allocate memory for the struct ls_pcie with random
contents, this can result in skipping to assign the ls_pcie-&gt;ctrl with
the 'lut' address, then further crash with the incorrect address.

Fixes: 118e58e26eba ("pci: layerscape: Split the EP and RC driver")
Signed-off-by: Hou Zhiqiang &lt;Zhiqiang.Hou@nxp.com&gt;
Reviewed-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>arm: a37xx: pci: Implement workaround for the readback value of VEND_ID</title>
<updated>2021-03-12T06:44:21Z</updated>
<author>
<name>Pali Rohár</name>
<email>pali@kernel.org</email>
</author>
<published>2021-03-03T13:37:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2fa30d0484307dd134a6f923bc8c7d0c89a658f9'/>
<id>urn:sha1:2fa30d0484307dd134a6f923bc8c7d0c89a658f9</id>
<content type='text'>
Marvell Armada 3720 Functional Errata, Guidelines, and Restrictions
document describes in erratum 4.1 PCIe value of vendor ID (Ref #: 243):

    The readback value of VEND_ID (RD0070000h [15:0]) is 1B4Bh, while it
    should read 11ABh.

    The firmware can write the correct value, 11ABh, through VEND_ID
    (RD0076044h [15:0]).

Implement this workaround in U-Boot PCIe controller driver aardvark for
both PCI vendor id and PCI subsystem vendor id.

This change affects PCI vendor id of PCIe root bridge emulated by Linux
kernel. With this change Linux kernel reports correct vendor id 11AB.

Signed-off-by: Pali Rohár &lt;pali@kernel.org&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
<entry>
<title>pci: mpc85xx: Support 64-bit bus and cpu address</title>
<updated>2021-03-05T04:55:43Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2021-02-25T09:22:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8461ee51151e153045eb3ce97eb334a1921e1d5c'/>
<id>urn:sha1:8461ee51151e153045eb3ce97eb334a1921e1d5c</id>
<content type='text'>
At present the driver only supports 32-bit bus and cpu address.
The controller's outbound registers/fields for extended address
are not programmed. Let's program them to support 64-bit bus and
cpu address.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Heiko Schocher &lt;hs@denx.de&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>pci: mpc85xx: Support controller register physical address beyond 32-bit</title>
<updated>2021-03-05T04:55:43Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2021-02-25T09:22:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=03ff970a1b5a07f0814adf8156e2fb520ffb322a'/>
<id>urn:sha1:03ff970a1b5a07f0814adf8156e2fb520ffb322a</id>
<content type='text'>
devfdt_get_addr_index() returns fdt_addr_t which might be a 64-bit
physical address. Use map_physmem() to return the virtual address
that can be used by a 32-bit machine.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Heiko Schocher &lt;hs@denx.de&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>pci: mpc85xx: Wrap LAW programming with CONFIG_FSL_LAW</title>
<updated>2021-03-05T04:55:43Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2021-02-25T09:22:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5a40f5c09dfdc1ddc9413584d5a99f2879e10de8'/>
<id>urn:sha1:5a40f5c09dfdc1ddc9413584d5a99f2879e10de8</id>
<content type='text'>
For the QEMU ppce500 machine, LAW registers are not implemented
hence CONFIG_FSL_LAW is not turned on and all LAW APIs are not
available. We should wrap all LAW registers programming in the
mpc85xx PCI driver with CONFIG_FSL_LAW.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Heiko Schocher &lt;hs@denx.de&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>pci: fsl_pci_init: Dynamically allocate the PCI regions</title>
<updated>2021-03-05T04:55:42Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2021-02-25T09:22:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7365a03804ed48a827e91141f3b07f11e20572eb'/>
<id>urn:sha1:7365a03804ed48a827e91141f3b07f11e20572eb</id>
<content type='text'>
Commit e002474158d1 ("pci: pci-uclass: Dynamically allocate the PCI regions")
changes 'struct pci_controller'.regions from pre-allocated array of
regions to dynamically allocated, which unfortunately broken lots of
boards that still use the non-DM PCI driver.

This patch changes the non-DM fsl_pci_init driver to dynamically
allocate the regions, just like what's done in the pci uclass driver.

Fixes: e002474158d1 ("pci: pci-uclass: Dynamically allocate the PCI regions")
Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Priyanka Jain &lt;priyanka.jain@nxp.com&gt;
</content>
</entry>
<entry>
<title>pci: pci_mvebu: set local dev to number 1</title>
<updated>2021-02-26T09:22:29Z</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-02-08T22:01:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5ddfd3f4412750fa0c035d08d747b38b0aefb3fa'/>
<id>urn:sha1:5ddfd3f4412750fa0c035d08d747b38b0aefb3fa</id>
<content type='text'>
Linux displays the real PCIe card connected to a mvebu PCIe slot as
device 0, not 1. This is done by setting local dev number to 1, so that
the local "Marvell Memory controller" device is on address 1.

Let's do it also in U-Boot.

With this commit the pci command in U-Boot prints something like:
  =&gt; pci
  Scanning PCI devices on bus 0
  BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
  _____________________________________________________________
  00.00.00   0x168c     0x003c     Network controller      0x80

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Cc: Stefan Roese &lt;sr@denx.de&gt;
Cc: Phil Sutter &lt;phil@nwl.cc&gt;
Cc: Mario Six &lt;mario.six@gdsys.cc&gt;
Cc: Baruch Siach &lt;baruch@tkos.co.il&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
<entry>
<title>pci: pci_mvebu: refactor validation of addresses for config access</title>
<updated>2021-02-26T09:22:29Z</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-02-08T22:01:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=10eb2cc3442aa9a91c98f2fdda2a5b48de9bbc88'/>
<id>urn:sha1:10eb2cc3442aa9a91c98f2fdda2a5b48de9bbc88</id>
<content type='text'>
Refactor validation of bdf parameter in mvebu_pcie_read/write_config
functions.

We can simplify the code by putting the validation into separate
function.

Also there are always only two devices visible on local bus:
* on slot configured by function mvebu_pcie_set_local_dev_nr()
  (by default this register is set to 0) there is a
  "Marvell Memory controller", which isn't useful in root complex
  mode,
* on all other slots the real PCIe card connected to the PCIe slot.

We can simplify the code even more by simply allowing access only to
the real PCIe card.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Cc: Stefan Roese &lt;sr@denx.de&gt;
Cc: Phil Sutter &lt;phil@nwl.cc&gt;
Cc: Mario Six &lt;mario.six@gdsys.cc&gt;
Cc: Baruch Siach &lt;baruch@tkos.co.il&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
<entry>
<title>pci: pci_mvebu: debug rd/wr config as other drivers do</title>
<updated>2021-02-26T09:22:29Z</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-02-08T22:01:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=26f7a76ef9139544ea053a7d806cddda330a57d9'/>
<id>urn:sha1:26f7a76ef9139544ea053a7d806cddda330a57d9</id>
<content type='text'>
Other drivers (aardvark, intel_fpga) print "(addr,size,val)" when
debugging is enabled. Print size for pci_mvebu as well.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Cc: Stefan Roese &lt;sr@denx.de&gt;
Cc: Phil Sutter &lt;phil@nwl.cc&gt;
Cc: Mario Six &lt;mario.six@gdsys.cc&gt;
Cc: Baruch Siach &lt;baruch@tkos.co.il&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
<entry>
<title>pci: pci_mvebu: cosmetic fix</title>
<updated>2021-02-26T09:22:29Z</updated>
<author>
<name>Marek Behún</name>
<email>marek.behun@nic.cz</email>
</author>
<published>2021-02-08T22:01:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=241d763618fda78913e05b929fb1de3e27fa8dde'/>
<id>urn:sha1:241d763618fda78913e05b929fb1de3e27fa8dde</id>
<content type='text'>
Write bdf address in a same way in mvebu_pcie_read/write_config.

Signed-off-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Cc: Stefan Roese &lt;sr@denx.de&gt;
Cc: Phil Sutter &lt;phil@nwl.cc&gt;
Cc: Mario Six &lt;mario.six@gdsys.cc&gt;
Cc: Baruch Siach &lt;baruch@tkos.co.il&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
</feed>
