[PATCH v3 00/16] MIPS: lantiq: handle RCU register by separate drivers
hauke at hauke-m.de
Sun May 28 11:39:50 PDT 2017
The RCU (Reset controller Unit) register block provides many different
functionalities. Before they were handed by the code in arch/mips/lantiq
/xway/reset.c, now there are separate drivers for the functionality.
This block provides support for reset controller, GPHY firmware
loading, USB PHY initialization and cross bar configuration.
These changes are making the old device tree incompatible with the
current kernel. The upstream Linux kernel supports loading the device
tree blob from the boot loader since about one year, the latest
released vendor kernel does not support loading the device tree from a
I would prefer if this would go through the mips tree.
There are more patches planed which would convert the Lantiq code
to the common clock framework.
This is based on patches from Martin Blumenstingl and is a preparation
to convert the Lantiq target to the common clock framework which was
also started by Martin Blumenstingl.
* renamed xbar driver into fpi-bus driver and make it manage the bus,
this way we make sure it is initialized before the child drivers.
* converted the lantiq,rcu-syscon into a "regmap" and an "offset"
property, this way we have a offset property for each register we
want to access on the regmap.
* make the gphy PUM clock mandatory.
* renamed the lantiq,rcu-reset to lantiq,reset-xrx200
* add binding description for watchdog driver
* make watchdog driver use offset and mask to find the correct
register to get the watchdog reset cause bit.
* use of_platform_default_populate() instead of of_platform_populate()
* use device_property_read_u32() instead of
* changed John's email address to blogic at phrozen.org
* check the reset bit numbers in the xlate function
* use platform_get_resource() in FPI bus driver
* make it possible to unload the GPHY driver
* remove the rcu_ prefix for device names in device tree
* add both clocks to the gphy driver documentation
* use 2 cells for the reset controller, one for the status bit and one
for the set bit, they are different for some reset bits.
reset-status and reset-request attribute were removed then.
* remove the documentation of the not existing sub nodes of the usb phy
* remove manual gpio vbus handling in the usb phy driver and use the
generic phy regulator now.
* do not check if the usb phy reset is not null, the reset framework does this.
* do not print an error message when -EPROBE_DEFER was returned
Hauke Mehrtens (8):
mtd: lantiq-flash: drop check of boot select
mtd: spi-falcon: drop check of boot select
watchdog: lantiq: access boot cause register through regmap
watchdog: lantiq: add device tree binding documentation
MIPS: lantiq: remove ltq_reset_cause() and ltq_boot_select()
MIPS: lantiq: remove old reset controller implementation
MIPS: lantiq: remove old GPHY loader code
MIPS: lantiq: remove old USB PHY initialisation
Martin Blumenstingl (8):
MIPS: lantiq: Use of_platform_default_populate instead of
MIPS: lantiq: Enable MFD_SYSCON to be able to use it for the RCU MFD
Documentation: DT: MIPS: lantiq: Add docs for the RCU bindings
MIPS: lantiq: Convert the fpi bus driver to a platform_driver
reset: Add a reset controller driver for the Lantiq XWAY based SoCs
MIPS: lantiq: Add a GPHY driver which uses the RCU syscon-mfd
phy: Add an USB PHY driver for the Lantiq SoCs using the RCU module
MIPS: lantiq: Remove the arch/mips/lantiq/xway/reset.c implementation
.../devicetree/bindings/mips/lantiq/fpi-bus.txt | 33 ++
.../devicetree/bindings/mips/lantiq/rcu-gphy.txt | 38 ++
.../devicetree/bindings/mips/lantiq/rcu.txt | 97 ++++++
.../bindings/phy/phy-lantiq-rcu-usb2.txt | 42 +++
.../devicetree/bindings/reset/lantiq,reset.txt | 30 ++
.../devicetree/bindings/watchdog/lantiq-wdt.txt | 28 ++
MAINTAINERS | 1 +
arch/mips/include/asm/mach-lantiq/lantiq.h | 4 -
arch/mips/lantiq/Kconfig | 2 +
arch/mips/lantiq/falcon/reset.c | 22 --
arch/mips/lantiq/prom.c | 2 +-
arch/mips/lantiq/xway/Makefile | 4 +-
arch/mips/lantiq/xway/reset.c | 387 ---------------------
arch/mips/lantiq/xway/sysctrl.c | 71 +---
arch/mips/lantiq/xway/xrx200_phy_fw.c | 113 ------
drivers/mtd/maps/lantiq-flash.c | 6 -
drivers/phy/Kconfig | 8 +
drivers/phy/Makefile | 1 +
drivers/phy/phy-lantiq-rcu-usb2.c | 275 +++++++++++++++
drivers/reset/Kconfig | 6 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-lantiq.c | 205 +++++++++++
drivers/soc/Makefile | 1 +
drivers/soc/lantiq/Makefile | 2 +
drivers/soc/lantiq/fpi-bus.c | 91 +++++
drivers/soc/lantiq/gphy.c | 277 +++++++++++++++
drivers/spi/spi-falcon.c | 5 -
drivers/watchdog/lantiq_wdt.c | 45 ++-
include/dt-bindings/mips/lantiq_rcu_gphy.h | 15 +
29 files changed, 1212 insertions(+), 600 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mips/lantiq/fpi-bus.txt
create mode 100644 Documentation/devicetree/bindings/mips/lantiq/rcu-gphy.txt
create mode 100644 Documentation/devicetree/bindings/mips/lantiq/rcu.txt
create mode 100644 Documentation/devicetree/bindings/phy/phy-lantiq-rcu-usb2.txt
create mode 100644 Documentation/devicetree/bindings/reset/lantiq,reset.txt
create mode 100644 Documentation/devicetree/bindings/watchdog/lantiq-wdt.txt
delete mode 100644 arch/mips/lantiq/xway/reset.c
delete mode 100644 arch/mips/lantiq/xway/xrx200_phy_fw.c
create mode 100644 drivers/phy/phy-lantiq-rcu-usb2.c
create mode 100644 drivers/reset/reset-lantiq.c
create mode 100644 drivers/soc/lantiq/Makefile
create mode 100644 drivers/soc/lantiq/fpi-bus.c
create mode 100644 drivers/soc/lantiq/gphy.c
create mode 100644 include/dt-bindings/mips/lantiq_rcu_gphy.h
More information about the linux-mtd