mbox series

[v2,0/6] arm64: meson: add libretech-pc support

Message ID 20200227112738.494579-1-jbrunet@baylibre.com
Headers show
Series arm64: meson: add libretech-pc support | expand

Message

Jerome Brunet Feb. 27, 2020, 11:27 a.m. UTC
Add libretech PC platform support. This platform comes in 2 variants,
one with the s905d and the other s912.

While working on these boards, I've found a problem related the mmc
clock. In some cases, the ROM code will leave the mmc clocks in such
a weird state that any access to the mmc controller would lock the
device.

Making sure the MMC clocks are properly reset and enabled is enough
to solve the problem.

I have also synced all amlogic supported dts. Since I had to update
the gx dsti files, it made sense to update the dts as well. This is
done to keep things coherent even if it is not the original purpose
of this series.

Changes since v1:
 - Split dt sync, libretech-pc import and config addition.
 - Rebase on master

Jerome Brunet (6):
  dt-bindings: leds: import common led bindings from linux v5.5
  mmc: meson-gx: enable input clocks
  clk: meson: reset mmc clock on probe
  arm64: dts: meson: sync dt and bindings from v5.6-rc2
  arm64: dts: meson: import libretech-pc from linux v5.6-rc2
  arm64: dts: meson: add libretech-pc support

 arch/arm/dts/Makefile                         |   2 +
 arch/arm/dts/meson-axg-s400.dts               |  70 ++-
 arch/arm/dts/meson-axg.dtsi                   | 273 ++++++++--
 arch/arm/dts/meson-g12-common.dtsi            | 478 ++++++------------
 arch/arm/dts/meson-g12.dtsi                   | 398 +++++++++++++++
 arch/arm/dts/meson-g12a-sei510.dts            |  64 +++
 arch/arm/dts/meson-g12a-u200.dts              |  54 ++
 arch/arm/dts/meson-g12a.dtsi                  |  33 +-
 arch/arm/dts/meson-g12b-a311d-khadas-vim3.dts |  25 +
 arch/arm/dts/meson-g12b-odroid-n2.dts         |   2 +-
 arch/arm/dts/meson-g12b.dtsi                  |  26 +-
 arch/arm/dts/meson-gx-libretech-pc.dtsi       | 375 ++++++++++++++
 arch/arm/dts/meson-gx.dtsi                    |  87 +++-
 arch/arm/dts/meson-gxbb-nanopi-k2.dts         |  26 +-
 arch/arm/dts/meson-gxbb-odroidc2.dts          | 100 +++-
 arch/arm/dts/meson-gxbb-p200.dts              |   9 +-
 arch/arm/dts/meson-gxbb-p201.dts              |   2 +-
 arch/arm/dts/meson-gxbb-p20x.dtsi             |   9 +-
 arch/arm/dts/meson-gxbb.dtsi                  | 118 ++++-
 arch/arm/dts/meson-gxl-s805x-libretech-ac.dts |   2 +-
 .../meson-gxl-s905d-libretech-pc-u-boot.dtsi  |   7 +
 arch/arm/dts/meson-gxl-s905d-libretech-pc.dts |  16 +
 arch/arm/dts/meson-gxl-s905d.dtsi             |  12 +
 arch/arm/dts/meson-gxl-s905x-khadas-vim.dts   |  20 +-
 arch/arm/dts/meson-gxl-s905x-libretech-cc.dts |  26 +-
 arch/arm/dts/meson-gxl-s905x-p212.dtsi        |  10 +-
 arch/arm/dts/meson-gxl.dtsi                   |  76 ++-
 arch/arm/dts/meson-gxm-khadas-vim2.dts        |  71 +--
 .../meson-gxm-s912-libretech-pc-u-boot.dtsi   |   7 +
 arch/arm/dts/meson-gxm-s912-libretech-pc.dts  |  62 +++
 arch/arm/dts/meson-gxm.dtsi                   |  39 +-
 arch/arm/dts/meson-khadas-vim3.dtsi           |   7 +
 arch/arm/dts/meson-sm1-khadas-vim3l.dts       |  95 ++++
 arch/arm/dts/meson-sm1-sei610.dts             | 236 ++++++++-
 arch/arm/dts/meson-sm1.dtsi                   | 356 +++++++++++++
 configs/libretech-s905d-pc_defconfig          |  71 +++
 configs/libretech-s912-pc_defconfig           |  71 +++
 drivers/clk/meson/axg.c                       |   7 +
 drivers/clk/meson/g12a.c                      |   7 +
 drivers/clk/meson/gxbb.c                      |   7 +
 drivers/mmc/meson_gx_mmc.c                    |  14 +-
 include/configs/libretech-pc.h                |  17 +
 include/dt-bindings/clock/axg-audio-clkc.h    |  10 +
 include/dt-bindings/clock/gxbb-aoclkc.h       |   7 +
 include/dt-bindings/clock/gxbb-clkc.h         |  21 +
 include/dt-bindings/gpio/meson-gxbb-gpio.h    |   8 +-
 include/dt-bindings/gpio/meson-gxl-gpio.h     |   8 +-
 include/dt-bindings/leds/common.h             |  75 +++
 .../reset/amlogic,meson-axg-audio-arb.h       |   2 +
 .../reset/amlogic,meson-axg-reset.h           |   3 +-
 .../reset/amlogic,meson-g12a-audio-reset.h    |  15 +
 .../reset/amlogic,meson-gxbb-reset.h          |  51 +-
 52 files changed, 2963 insertions(+), 624 deletions(-)
 create mode 100644 arch/arm/dts/meson-g12.dtsi
 create mode 100644 arch/arm/dts/meson-gx-libretech-pc.dtsi
 create mode 100644 arch/arm/dts/meson-gxl-s905d-libretech-pc-u-boot.dtsi
 create mode 100644 arch/arm/dts/meson-gxl-s905d-libretech-pc.dts
 create mode 100644 arch/arm/dts/meson-gxl-s905d.dtsi
 create mode 100644 arch/arm/dts/meson-gxm-s912-libretech-pc-u-boot.dtsi
 create mode 100644 arch/arm/dts/meson-gxm-s912-libretech-pc.dts
 create mode 100644 arch/arm/dts/meson-sm1-khadas-vim3l.dts
 create mode 100644 configs/libretech-s905d-pc_defconfig
 create mode 100644 configs/libretech-s912-pc_defconfig
 create mode 100644 include/configs/libretech-pc.h
 create mode 100644 include/dt-bindings/leds/common.h

Comments

Neil Armstrong March 2, 2020, 9:35 a.m. UTC | #1
On 27/02/2020 12:27, Jerome Brunet wrote:
> Add libretech PC platform support. This platform comes in 2 variants,
> one with the s905d and the other s912.
> 
> While working on these boards, I've found a problem related the mmc
> clock. In some cases, the ROM code will leave the mmc clocks in such
> a weird state that any access to the mmc controller would lock the
> device.
> 
> Making sure the MMC clocks are properly reset and enabled is enough
> to solve the problem.
> 
> I have also synced all amlogic supported dts. Since I had to update
> the gx dsti files, it made sense to update the dts as well. This is
> done to keep things coherent even if it is not the original purpose
> of this series.
> 
> Changes since v1:
>  - Split dt sync, libretech-pc import and config addition.
>  - Rebase on master
> 
> Jerome Brunet (6):
>   dt-bindings: leds: import common led bindings from linux v5.5
>   mmc: meson-gx: enable input clocks
>   clk: meson: reset mmc clock on probe
>   arm64: dts: meson: sync dt and bindings from v5.6-rc2
>   arm64: dts: meson: import libretech-pc from linux v5.6-rc2
>   arm64: dts: meson: add libretech-pc support
> 
>  arch/arm/dts/Makefile                         |   2 +
>  arch/arm/dts/meson-axg-s400.dts               |  70 ++-
>  arch/arm/dts/meson-axg.dtsi                   | 273 ++++++++--
>  arch/arm/dts/meson-g12-common.dtsi            | 478 ++++++------------
>  arch/arm/dts/meson-g12.dtsi                   | 398 +++++++++++++++
>  arch/arm/dts/meson-g12a-sei510.dts            |  64 +++
>  arch/arm/dts/meson-g12a-u200.dts              |  54 ++
>  arch/arm/dts/meson-g12a.dtsi                  |  33 +-
>  arch/arm/dts/meson-g12b-a311d-khadas-vim3.dts |  25 +
>  arch/arm/dts/meson-g12b-odroid-n2.dts         |   2 +-
>  arch/arm/dts/meson-g12b.dtsi                  |  26 +-
>  arch/arm/dts/meson-gx-libretech-pc.dtsi       | 375 ++++++++++++++
>  arch/arm/dts/meson-gx.dtsi                    |  87 +++-
>  arch/arm/dts/meson-gxbb-nanopi-k2.dts         |  26 +-
>  arch/arm/dts/meson-gxbb-odroidc2.dts          | 100 +++-
>  arch/arm/dts/meson-gxbb-p200.dts              |   9 +-
>  arch/arm/dts/meson-gxbb-p201.dts              |   2 +-
>  arch/arm/dts/meson-gxbb-p20x.dtsi             |   9 +-
>  arch/arm/dts/meson-gxbb.dtsi                  | 118 ++++-
>  arch/arm/dts/meson-gxl-s805x-libretech-ac.dts |   2 +-
>  .../meson-gxl-s905d-libretech-pc-u-boot.dtsi  |   7 +
>  arch/arm/dts/meson-gxl-s905d-libretech-pc.dts |  16 +
>  arch/arm/dts/meson-gxl-s905d.dtsi             |  12 +
>  arch/arm/dts/meson-gxl-s905x-khadas-vim.dts   |  20 +-
>  arch/arm/dts/meson-gxl-s905x-libretech-cc.dts |  26 +-
>  arch/arm/dts/meson-gxl-s905x-p212.dtsi        |  10 +-
>  arch/arm/dts/meson-gxl.dtsi                   |  76 ++-
>  arch/arm/dts/meson-gxm-khadas-vim2.dts        |  71 +--
>  .../meson-gxm-s912-libretech-pc-u-boot.dtsi   |   7 +
>  arch/arm/dts/meson-gxm-s912-libretech-pc.dts  |  62 +++
>  arch/arm/dts/meson-gxm.dtsi                   |  39 +-
>  arch/arm/dts/meson-khadas-vim3.dtsi           |   7 +
>  arch/arm/dts/meson-sm1-khadas-vim3l.dts       |  95 ++++
>  arch/arm/dts/meson-sm1-sei610.dts             | 236 ++++++++-
>  arch/arm/dts/meson-sm1.dtsi                   | 356 +++++++++++++
>  configs/libretech-s905d-pc_defconfig          |  71 +++
>  configs/libretech-s912-pc_defconfig           |  71 +++
>  drivers/clk/meson/axg.c                       |   7 +
>  drivers/clk/meson/g12a.c                      |   7 +
>  drivers/clk/meson/gxbb.c                      |   7 +
>  drivers/mmc/meson_gx_mmc.c                    |  14 +-
>  include/configs/libretech-pc.h                |  17 +
>  include/dt-bindings/clock/axg-audio-clkc.h    |  10 +
>  include/dt-bindings/clock/gxbb-aoclkc.h       |   7 +
>  include/dt-bindings/clock/gxbb-clkc.h         |  21 +
>  include/dt-bindings/gpio/meson-gxbb-gpio.h    |   8 +-
>  include/dt-bindings/gpio/meson-gxl-gpio.h     |   8 +-
>  include/dt-bindings/leds/common.h             |  75 +++
>  .../reset/amlogic,meson-axg-audio-arb.h       |   2 +
>  .../reset/amlogic,meson-axg-reset.h           |   3 +-
>  .../reset/amlogic,meson-g12a-audio-reset.h    |  15 +
>  .../reset/amlogic,meson-gxbb-reset.h          |  51 +-
>  52 files changed, 2963 insertions(+), 624 deletions(-)
>  create mode 100644 arch/arm/dts/meson-g12.dtsi
>  create mode 100644 arch/arm/dts/meson-gx-libretech-pc.dtsi
>  create mode 100644 arch/arm/dts/meson-gxl-s905d-libretech-pc-u-boot.dtsi
>  create mode 100644 arch/arm/dts/meson-gxl-s905d-libretech-pc.dts
>  create mode 100644 arch/arm/dts/meson-gxl-s905d.dtsi
>  create mode 100644 arch/arm/dts/meson-gxm-s912-libretech-pc-u-boot.dtsi
>  create mode 100644 arch/arm/dts/meson-gxm-s912-libretech-pc.dts
>  create mode 100644 arch/arm/dts/meson-sm1-khadas-vim3l.dts
>  create mode 100644 configs/libretech-s905d-pc_defconfig
>  create mode 100644 configs/libretech-s912-pc_defconfig
>  create mode 100644 include/configs/libretech-pc.h
>  create mode 100644 include/dt-bindings/leds/common.h
> 

Applying to u-boot-amlogic-next to be pushed when v2020.04 is tagged.

Neil