u-boot/drivers
Jagan Teki 89f2fa0b5e pci: Add Rockchip PCIe PHY controller driver
Yes, it is possible to have a dedicated UCLASS PHY driver
for this Rockchip PCIe PHY but there are some issues on
Generic PHY framework to support the same.

The Generic PHY framework is unable to get the PHY if
the PHY parent is of a different uclass.

Say if we try to get the PCIe PHY then the phy-uclass
will look for PHY in the first instance if it is not
in the root node it will try to probe the parent by
assuming that the actual PHY is inside the parent PHY
of UCLASS_PHY. But, in rk3399 hardware representation
PHY like emmc, usb and pcie are part of syscon which
is completely a different of UCLASS_SYSCON.

Example:

grf: syscon@ff770000 {
   compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
   reg = <0x0 0xff770000 0x0 0x10000>;
   #address-cells = <1>;
   #size-cells = <1>;

   pcie_phy: pcie-phy {
       compatible = "rockchip,rk3399-pcie-phy";
       clocks = <&cru SCLK_PCIEPHY_REF>;
       clock-names = "refclk";
       #phy-cells = <1>;
       resets = <&cru SRST_PCIEPHY>;
       drive-impedance-ohm = <50>;
       reset-names = "phy";
       status = "disabled";
   };
};

Due to this limitation, this patch adds a separate PHY
driver for Rockchip PCIe. This might be removed in future
once Generic PHY supports this limitation.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Suniel Mahesh <sunil@amarulasolutions.com> #roc-rk3399-pc
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2020-05-22 20:53:20 +08:00
..
adc common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
ata common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
axi common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
bios_emulator common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
block common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
board common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bootcount common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
cache common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
clk clk: rk3399: Enable/Disable the PCIEPHY clk 2020-05-22 20:53:20 +08:00
core common: Drop linux/bug.h from common header 2020-05-18 21:19:23 -04:00
cpu common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
crypto drivers: crypto: mod_exp_sw: Re-add DM_FLAG_PRE_RELOC 2020-05-19 14:01:47 -04:00
ddr common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
demo common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
dfu common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
dma common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
fastboot common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
firmware common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
fpga common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
gpio common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
hwspinlock common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
i2c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
input common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
led common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
mailbox common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
memory
misc common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
mmc common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
mtd common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
net Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq 2020-05-20 08:46:56 -04:00
nvme common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pch common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci pci: Add Rockchip PCIe PHY controller driver 2020-05-22 20:53:20 +08:00
pci_endpoint common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
phy common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pinctrl common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
power common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pwm common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
qe common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ram common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
remoteproc common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
reset common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
rng common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
rtc common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
scsi common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
serial common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
smem common: Drop linux/bug.h from common header 2020-05-18 21:19:23 -04:00
soc common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
sound common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
spi common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
spmi dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
sysreset common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
tee common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
thermal common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
timer common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
tpm common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
ufs common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
usb common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
video common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
virtio common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
w1 common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
w1-eeprom common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
watchdog common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
Kconfig dm: rng: Add random number generator(rng) uclass 2020-01-07 18:08:21 +01:00
Makefile drivers: Descend to drivers/soc unconditionally 2020-03-03 13:08:13 +05:30