]> asedeno.scripts.mit.edu Git - linux.git/commit
phy: lantiq: vrx200-pcie: add a driver for the Lantiq VRX200 PCIe PHY
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sat, 27 Jul 2019 12:04:13 +0000 (14:04 +0200)
committerKishon Vijay Abraham I <kishon@ti.com>
Fri, 23 Aug 2019 04:10:48 +0000 (09:40 +0530)
commite52a632195bf43d1a91ae699e7536a6ead736aa7
tree65d036751e1e04b9682b8a3e46f06f80de8acffb
parent088e88be5a380cc4e81963a9a02815da465d144f
phy: lantiq: vrx200-pcie: add a driver for the Lantiq VRX200 PCIe PHY

The Lantiq VRX200 SoCs embed a PCIe PHY in the "sram" bus. Unlike most
other IP blocks on this SoC the register values are only 16-bit wide.
Like other IP blocks on this SoC the register values are in big endian.

The PHY embeds a PLL which can be configured in various modes. Only the
36MHz mode is supported for now, the other modes can be implemented when
there's a board which actually needs them. OpenWrt uses the out-of-tree
vendor driver and all supported boards there only need the 36MHz mode.

There are two input clocks:
- the "pdi" clock enables the register access
- the "phy" clock is the clock input and enables the internal PLL

There are two reset lines:
- "phy" resets the PHY itself
- the "pcie" reset line is shared between the PHY and the PCIe
  controller

While the VRX200 SoC has only one PCIe controller and PHY the ARX300
uses two identical PCIe controllers and PHYs which are compatible with
the PCIe controller and PHY on VRX200.
Add a driver for this PHY so PCIe support can be enabled on these SoCs.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/lantiq/Kconfig
drivers/phy/lantiq/Makefile
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c [new file with mode: 0644]