RK3568 some question

Sascha Hauer sha at pengutronix.de
Fri Oct 13 03:37:42 PDT 2023

On Fri, Oct 13, 2023 at 11:12:49AM +0300, Alexander Shiyan wrote:
> Hello.
> I'm trying to run PCI-e 2.0 on an RK3568 processor. The driver loads
> OK and does not detect anyone on the bus except itself.
> In the kernel, everything works as it should and connected devices are
> visible on the bus (in my case, I use Intel AX200 and MediaTek MT7921e
> Wi-Fi modules).
> Enabling PCI debugging produces these messages:
> pbar0 set bad mask
> pbar1 set bad mask
> Has anyone run PCI on this CPU?

I've added the Rockchip PCIe driver for the RK3588 and tested it working
there. I never used it on the RK3568 due to the lack of hardware.

I don't have the Rock5b board handy at the moment, but maybe I can have
a look the next days what the register reads there.

> I'm not too familiar with the PCI subsystem, but after briefly looking
> at the code,
> I saw in the setup_device() function the line:
> pci_write_config_dword(dev, pci_base_address_0, 0xfffffffe);
> On Linux and u-boot this value is ~0.
> The question is, are we doing the right thing here?

I don't know. Where is the corresponding place in Linux?

> And the question is not related to the PCI:
> rk3568_lowlevel_init() does not call arm_cpu_lowlevel_init(). Is this OK?

It should be called once on each board and rk3568_lowlevel_init() seems
like a good place for it.


Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

More information about the barebox mailing list