[PATCH v2 00/38] ARM: orion5x: big step towards DT conversion
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Tue Apr 22 14:26:04 PDT 2014
Jason, Andrew, Sebastian, Gregory,
Here is the second version of the Orion5x big DT migration: it moves
over to the Device Tree the probing of a large number of devices, up
to a point where on platform (edmini_v2) can be fully converted, and
three other platforms can be almost completely converted.
Summary of the patches:
* Patches 1 and 2 are fixes that have already been taken by Jason
Cooper in mvebu/fixes.
* Patches 3 and 4 add the Orion pinctrl and Orion clock drivers
respectively.
* Patches 5 to 9 extend the existing mvebu-devbus driver to also
cover the Orion platform.
* Patches 10 to 33 progressively migrate the edmini_v2 platform more
and more to the Device Tree, which mainly consists of SoC-level
changes (using DT probed timer, clocks, etc.)
* Patches 34, 35 and 36 convert three other Orion5x platforms to the
Device Tree.
* Patches 37 and 38 make some follow-up clean up in
arch/arm/plat-orion/ of code that is no longer used after this DT
migration.
Changes since v1:
The vast majority of the changes were made according to the
suggestions and review of Sebastian Hesselbarth. Thanks to him for the
very detailed review.
* In the pinctrl driver:
- change pci(rstout) to pcie(rstout)
- rename double pci functions pci-1
* In the clock driver:
- use decimal values for shift values
- join two similar cases
* In the mvebu-devbus driver:
- minor fixes in DT binding documentation
- use _SHIFT instead of _BIT for Armada definitions
- use _SHIFT where needed for Orion definitions, use BIT() directly
in the macro definition for single bit fields, and define _MASK
values.
- introduce a devbus,keep-config DT property to make timing
parameters optional, which is useful when migrating platforms to
the Device Tree since we may not have their Device Bus timing
details readily available.
* Added Acked-by from Sebastian on the following patches:
- ARM: orion5x: move interrupt controller node into ocp
- ARM: orion5x: switch to preprocessor includes in DT
- ARM: orion5x: use existing dt-bindings include for Device Tree files
- ARM: orion5x: add interrupt for Ethernet in Device Tree
- ARM: orion5x: switch to use the clock driver for DT platforms
- ARM: orion5x: enable pinctrl driver at SoC level
- ARM: orion5x: add Device Bus description at SoC level
- ARM: orion5x: update I2C description at SoC level
- ARM: orion5x: update I2C description at SoC level
- ARM: orion5x: remove unneeded code for edmini_v2
* Numerous Device Tree improvements:
- add node labels for all devices, and used them in the .dts
files.
- add linux,stdout-path chosen property.
- add missing chosen and memory nodes for d2net
- use the clocks property instead of the clock-frequency property
for UART controllers, and fixed board DTs accordingly.
- rename the xor node to dma-controller, to match ePAPR.
- rename gpio_leds to gpio-leds and gpio_keys to gpio-keys.
- use GPIO dt-bindings header file where possible.
- use vendor prefixes for I2C devices
* Changed board-dt.c to call mvebu_mbus_dt_init() in
->init_machine(), which allows to remove ->init_time() entirely.
* One more board converted to the Device Tree: the Maxtor Shared
Storage II.
Thomas
Thomas Petazzoni (38):
ARM: orion5x: fix target ID for crypto SRAM window
memory: mvebu-devbus: fix the conversion of the bus width
pinctrl: mvebu: new driver for Orion platforms
clk: mvebu: add Orion5x clock driver
memory: mvebu-devbus: use ARMADA_ prefix in defines
memory: mvebu-devbus: use _SHIFT suffixes instead of _BIT
memory: mvebu-devbus: split functions
memory: mvebu-devbus: add Orion5x support
memory: mvebu-devbus: add a devbus,keep-config property
ARM: orion5x: move interrupt controller node into ocp
ARM: orion5x: switch to preprocessor includes in DT
ARM: orion5x: use existing dt-bindings include for Device Tree files
ARM: orion5x: convert DT to use the mvebu-mbus driver
ARM: orion5x: add node labels in Orion5x SoC Device Tree file
ARM: orion5x: use gpio-keys and gpio-leds instead of
gpio_keys/gpio_leds in edmini_v2
ARM: orion5x: add linux,stdout-path to edmini_v2
ARM: orion5x: use node labels for UART and SATA on edmini_v2
ARM: orion5x: rename XOR node to dma-controller@<address>
ARM: orion5x: add interrupt for Ethernet in Device Tree
ARM: orion5x: switch to use the clock driver for DT platforms
ARM: orion5x: convert to use 'clocks' property for UART controllers
ARM: orion: switch to a per-platform handle_irq() function
ARM: orion5x: switch to DT interrupts and timer
ARM: orion5x: enable pinctrl driver at SoC level
ARM: orion5x: update I2C description at SoC level
ARM: orion5x: add Device Bus description at SoC level
ARM: orion5x: add standard pinctrl configs for sata0 and sata1
ARM: orion5x: convert edmini_v2 to DT pinctrl
ARM: orion5x: use DT to describe I2C devices on edmini_v2
ARM: orion5x: use DT to describe EHCI on edmini_v2
ARM: orion5x: use DT to describe NOR on edmini_v2
ARM: orion5x: keep TODO list in edmini_v2 DT
ARM: orion5x: remove unneeded code for edmini_v2
ARM: orion5x: convert RD-88F5182 to Device Tree
ARM: orion5x: convert d2net to Device Tree
ARM: orion5x: convert Maxtor Shared Storage II to the Device Tree
ARM: orion: remove no longer needed DT IRQ code
ARM: orion: remove no longer needed gpio DT code
.../devicetree/bindings/clock/mvebu-core-clock.txt | 8 +
.../bindings/memory-controllers/mvebu-devbus.txt | 32 +-
.../bindings/pinctrl/marvell,orion-pinctrl.txt | 91 +++++
arch/arm/boot/dts/Makefile | 5 +-
arch/arm/boot/dts/orion5x-lacie-d2-network.dts | 236 +++++++++++++
.../dts/orion5x-lacie-ethernet-disk-mini-v2.dts | 141 ++++++--
.../boot/dts/orion5x-maxtor-shared-storage-2.dts | 178 ++++++++++
arch/arm/boot/dts/orion5x-mv88f5182.dtsi | 45 +++
arch/arm/boot/dts/orion5x-rd88f5182-nas.dts | 177 ++++++++++
arch/arm/boot/dts/orion5x.dtsi | 289 +++++++++-------
arch/arm/mach-dove/irq.c | 36 ++
arch/arm/mach-kirkwood/irq.c | 36 ++
arch/arm/mach-orion5x/Kconfig | 37 +--
arch/arm/mach-orion5x/Makefile | 7 +-
arch/arm/mach-orion5x/board-d2net.c | 109 ++++++
arch/arm/mach-orion5x/board-dt.c | 18 +-
arch/arm/mach-orion5x/board-mss2.c | 90 +++++
arch/arm/mach-orion5x/board-rd88f5182.c | 116 +++++++
arch/arm/mach-orion5x/common.h | 15 +-
arch/arm/mach-orion5x/d2net-setup.c | 365 ---------------------
arch/arm/mach-orion5x/edmini_v2-setup.c | 169 ----------
arch/arm/mach-orion5x/irq.c | 28 ++
arch/arm/mach-orion5x/mss2-setup.c | 274 ----------------
arch/arm/plat-orion/gpio.c | 48 ---
arch/arm/plat-orion/include/plat/irq.h | 1 -
arch/arm/plat-orion/include/plat/orion-gpio.h | 1 -
arch/arm/plat-orion/irq.c | 77 -----
drivers/clk/mvebu/Kconfig | 4 +
drivers/clk/mvebu/Makefile | 1 +
drivers/clk/mvebu/orion.c | 210 ++++++++++++
drivers/memory/mvebu-devbus.c | 234 +++++++++----
drivers/pinctrl/mvebu/Kconfig | 4 +
drivers/pinctrl/mvebu/Makefile | 1 +
drivers/pinctrl/mvebu/pinctrl-orion.c | 261 +++++++++++++++
34 files changed, 2162 insertions(+), 1182 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pinctrl/marvell,orion-pinctrl.txt
create mode 100644 arch/arm/boot/dts/orion5x-lacie-d2-network.dts
create mode 100644 arch/arm/boot/dts/orion5x-maxtor-shared-storage-2.dts
create mode 100644 arch/arm/boot/dts/orion5x-mv88f5182.dtsi
create mode 100644 arch/arm/boot/dts/orion5x-rd88f5182-nas.dts
create mode 100644 arch/arm/mach-orion5x/board-d2net.c
create mode 100644 arch/arm/mach-orion5x/board-mss2.c
create mode 100644 arch/arm/mach-orion5x/board-rd88f5182.c
delete mode 100644 arch/arm/mach-orion5x/d2net-setup.c
delete mode 100644 arch/arm/mach-orion5x/edmini_v2-setup.c
delete mode 100644 arch/arm/mach-orion5x/mss2-setup.c
create mode 100644 drivers/clk/mvebu/orion.c
create mode 100644 drivers/pinctrl/mvebu/pinctrl-orion.c
--
1.9.2
More information about the linux-arm-kernel
mailing list