powerpc, qe: add DTS support for parallel I/O ports
authorHeiko Schocher <hs@denx.de>
Mon, 3 Feb 2020 09:23:53 +0000 (10:23 +0100)
committerHeiko Schocher <hs@denx.de>
Thu, 17 Sep 2020 04:09:53 +0000 (06:09 +0200)
commit5990b059516c233bf845ad510decd6a44ba9864b
treea417046f565a3523dde0244a4f9d540ba284d0f2
parent9bd6444826acc476110b81a16d9d16bfa57d9fbd
powerpc, qe: add DTS support for parallel I/O ports

add DM support for parallel I/O ports on QUICC Engine Block

Signed-off-by: Heiko Schocher <hs@denx.de>
Patch-cc: Mario Six <mario.six@gdsys.cc>
Patch-cc: Qiang Zhao <qiang.zhao@nxp.com>
Patch-cc: Holger Brunck <holger.brunck@hitachi-powergrids.com>

Series-changes: 2
- remove RFC
- fixed Codingstyle errors, therefore new patch
  powerpc, mpc83xx: fix codingstyle issues for qe_io.c
- moved DM part to drivers/pinctrl

Commit-notes:
Open questions / discussion:

- I let the old none DM based implementation in code
  so boards should work with old implementation.

  This should be removed if all boards are converted to
  DM/DTS.

- Unfortunately linux DTS does not use "pinctrl-"
  properties, instead "pio-handle" properties.

  Even worser old U-Boot code initializes all pins
  defined in "const qe_iop_conf_t qe_iop_conf_tab[]"
  table in board code. As linux does the same I decided
  to also scan through all subnodes containing "pio-map"
  property and initialize them too.

  The proper solution would be to check for "pio-handle"
  when a device is probed.

END
arch/powerpc/cpu/mpc83xx/Makefile
arch/powerpc/cpu/mpc83xx/cpu_init.c
arch/powerpc/cpu/mpc83xx/qe_io.c
drivers/pinctrl/Kconfig
drivers/pinctrl/Makefile
drivers/pinctrl/pinctrl-qe-io.c [new file with mode: 0644]
include/fsl_qe.h