Skip to content

ARM: orion5x: big step towards DT conversion

Sebastian Hesselbarth linux-arm-kernel 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 Latest26 of 38 patches 0 repliesNew

26 of 38 patches are in this archive. The cover letter announces 38.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
3/38pinctrl: mvebu: new driver for Orion platforms+0 -00 replies
4/38clk: mvebu: add Orion5x clock driver+0 -00 replies
5/38memory: mvebu-devbus: use ARMADA_ prefix in defines+0 -00 replies
6/38memory: mvebu-devbus: use _SHIFT suffixes instead of _BIT+0 -00 replies
7/38memory: mvebu-devbus: split functions+0 -00 replies
8/38memory: mvebu-devbus: add Orion5x support+0 -00 replies
9/38memory: mvebu-devbus: add a devbus,keep-config property+0 -00 replies
13/38ARM: orion5x: convert DT to use the mvebu-mbus driver+0 -00 replies
14/38ARM: orion5x: add node labels in Orion5x SoC Device Tree file+0 -00 replies
15/38ARM: orion5x: use gpio-keys and gpio-leds instead of gpio_keys/gpio_leds in edmini_v2+0 -00 replies
16/38ARM: orion5x: add linux, stdout-path to edmini_v2+0 -00 replies
17/38ARM: orion5x: use node labels for UART and SATA on edmini_v2+0 -03 replies
21/38ARM: orion5x: convert to use 'clocks' property for UART controllers+0 -00 replies
22/38ARM: orion: switch to a per-platform handle_irq() function+0 -00 replies
22/38ARM: orion: switch to a per-platform handle_irq() function+0 -02 replies
23/38ARM: orion5x: switch to DT interrupts and timer+0 -00 replies
28/38ARM: orion5x: convert edmini_v2 to DT pinctrl+0 -00 replies
29/38ARM: orion5x: use DT to describe I2C devices on edmini_v2+0 -00 replies
30/38ARM: orion5x: use DT to describe EHCI on edmini_v2+0 -00 replies
31/38ARM: orion5x: use DT to describe NOR on edmini_v2+0 -00 replies
32/38ARM: orion5x: keep TODO list in edmini_v2 DT+0 -00 replies
34/38ARM: orion5x: convert RD-88F5182 to Device Tree+0 -00 replies
35/38ARM: orion5x: convert d2net to Device Tree+0 -00 replies
36/38ARM: orion5x: convert Maxtor Shared Storage II to the Device Tree+0 -00 replies
37/38ARM: orion: remove no longer needed DT IRQ code+0 -00 replies
38/38ARM: orion: remove no longer needed gpio DT code+0 -00 replies

Reviews trailers per patch

All 26 patches have a Reviewed-by or Acked-by.

PatchSebastian Hesselbarth
3/38A-b
4/38A-b
5/38A-b
6/38A-b
7/38A-b
8/38A-b
9/38A-b
13/38A-b
14/38A-b
15/38A-b
16/38A-b
17/38A-b
21/38A-b
22/38A-b
22/38A-b
23/38A-b
28/38A-b
29/38A-b
30/38A-b
31/38A-b
32/38A-b
34/38A-b
35/38A-b
36/38A-b
37/38A-b
38/38A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 00/38] ARM: orion5x: big step towards DT conversion
Quoted 54 lines · Thomas Petazzoni

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.

Quoted 1 line

* Added Acked-by from Sebastian on the following patches:

I guess you now have an Acked-by for each of the individual patches.

Great work, thanks Thomas!

Sebastian

Quoted 121 lines

- 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