All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen-Yu Tsai <wens@csie.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/25] sunxi: Enable DM_MMC for U-Boot proper
Date: Mon, 16 Jul 2018 16:35:09 +0800	[thread overview]
Message-ID: <CAGb2v666YgActKJcDc9z-acZanE2TQ=N7A=5VJVwTUGYSxySgw@mail.gmail.com> (raw)
In-Reply-To: <20180716081956.32434-1-jagan@amarulasolutions.com>

On Mon, Jul 16, 2018 at 4:19 PM, Jagan Teki <jagan@amarulasolutions.com> wrote:
> Enabling DM_MMC is not straight forward for Allwinner SoC's to
> make proper compatibility in mmc driver vs DT nodes.
>
> Existing dm code for ahb gate clock will be suitable to handle
> sun4i,5i,6i and 7i U-Boot specific mmc dt nodes, which are different
> from Linux in terms of clocks phandle notation.
>
> U-Boot DT clocks phandle follow direct ahb and clock address on
> node definition with specific bit position, but Linux clocks phandle
> follow macros to define AHB and MMC clocks so-that the ccu driver
> will set the bits accordingly.

And that has been deprecated upstream.

> Clocks phandle notations in U-Boot for higher Allwinner SoC start
> from sun8i, sun50i are following Linux notation so-that both Linux
> and U-Boot can have common node definition.

So basically you're saying the additional code for clock/reset
handling through the device tree only works for half of the SoCs,
based on a deprecated device tree binding. Which means we're
going to throw it out some time in the future. Is it worth the
churn of driver and device tree changes?

IMHO the new clock handling code is no better than the old. The only
thing that has changed is how the clock register address is derived.
Not even the index numbers, which BTW are actual bit offsets, for
the AHB gates from the device tree are used. Neither is the device
tree used for the AHB resets.

If we remove that portion from the series, and also sync up all
device tree files to Linux 4.17 (or a later -rc or -next), instead
of manually adding device nodes based on the old device tree binding,
it probably would still work.

Regards
ChenYu

> This series will address the ahb gate, clock setup to handle all
> type of Allwinner SoCs. and sync mmc node definitions from Linux
> for sun4i and sun5i.
>
> Note:
> - sun6i, A23, A33, V3S were untested these need to have a closer look
>   on dt nodes along with default ENV_FAT device.
>
> All these changes available at u-boot-sunxi/next
>
> Let me know if any questions or missings,
> Jagan.
>
> Jagan Teki (25):
>   ARM: dts: sun4i: Sync A10 MMC nodes from Linux
>   ARM: dts: sun4i: Sync A10 board dts mmc0 node from Linux
>   ARM: dts: sun4i: Add mmc0 node for iNet 3F
>   ARM: dts: sun4i: Add mmc0 node for iNet 3W
>   dm: mmc: sunxi: Refactor ahb gate and clock setup
>   dm: mmc: sunxi: Add ahb reset0 register write
>   ARM: dts: sun7i: Sync A20 MMC nodes from Linux
>   ARM: dts: sun7i: Add mmc0 node for Primo73 tablet
>   ARM: dts: sun7i: Add mmc0 node for Ainol AW1
>   ARM: dts: sun7i: Add mmc0 node for Mele M5
>   ARM: dts: sun7i: Add mmc0 node for Toptech BD1078
>   sunxi: A20: Enable DM_MMC
>   mmc: sunxi: Add mmc, emmc H5/A64 compatible
>   sunxi: H3_H5: Enable DM_MMC
>   sunxi: A64: Enable DM_MMC
>   ARM: dts: sun8i: Update A83T dts(i) files from Linux
>   mmc: sunxi: Add A83T emmc compatible
>   sunxi: A83T: Enable DM_MMC
>   ARM: dts: sun8i: Update R40 dts(i) files from Linux
>   sunxi: V40: Enable DM_MMC
>   fastboot: sunxi: Update fastboot mmc default device
>   env: sunxi: Update default env fat device
>   sunxi: Use mmc_bootdev=2 for MMC2 boot
>   [DO NOT MERGE] sunxi: A13/A31: Enable DM_MMC
>   [DO NOT MERGE] sunxi: A23/A33/V3S: Enable DM_MMC
>
>  arch/arm/dts/axp81x.dtsi                      | 169 ++++
>  arch/arm/dts/sun4i-a10-a1000.dts              |   5 +-
>  arch/arm/dts/sun4i-a10-ba10-tvbox.dts         |   5 +-
>  arch/arm/dts/sun4i-a10-chuwi-v7-cw0825.dts    |   5 +-
>  arch/arm/dts/sun4i-a10-cubieboard.dts         |   5 +-
>  arch/arm/dts/sun4i-a10-dserve-dsrv9703c.dts   |   5 +-
>  arch/arm/dts/sun4i-a10-gemei-g9.dts           |   5 +-
>  arch/arm/dts/sun4i-a10-hackberry.dts          |   5 +-
>  arch/arm/dts/sun4i-a10-hyundai-a7hd.dts       |   5 +-
>  arch/arm/dts/sun4i-a10-inet-3f.dts            |   9 +
>  arch/arm/dts/sun4i-a10-inet-3w.dts            |   9 +
>  arch/arm/dts/sun4i-a10-inet1.dts              |   5 +-
>  arch/arm/dts/sun4i-a10-inet97fv2.dts          |   5 +-
>  arch/arm/dts/sun4i-a10-inet9f-rev03.dts       |   5 +-
>  .../dts/sun4i-a10-itead-iteaduino-plus.dts    |   5 +-
>  arch/arm/dts/sun4i-a10-jesurun-q5.dts         |   5 +-
>  arch/arm/dts/sun4i-a10-marsboard.dts          |   5 +-
>  arch/arm/dts/sun4i-a10-mini-xplus.dts         |   5 +-
>  arch/arm/dts/sun4i-a10-mk802.dts              |   5 +-
>  arch/arm/dts/sun4i-a10-mk802ii.dts            |   5 +-
>  arch/arm/dts/sun4i-a10-olinuxino-lime.dts     |   5 +-
>  arch/arm/dts/sun4i-a10-pcduino.dts            |   5 +-
>  arch/arm/dts/sun4i-a10-pov-protab2-ips9.dts   |   5 +-
>  arch/arm/dts/sun4i-a10.dtsi                   | 112 +--
>  arch/arm/dts/sun7i-a20-ainol-aw1.dts          |  13 +
>  arch/arm/dts/sun7i-a20-m5.dts                 |  12 +
>  arch/arm/dts/sun7i-a20-primo73.dts            |  20 +-
>  .../dts/sun7i-a20-yones-toptech-bd1078.dts    |  13 +
>  arch/arm/dts/sun7i-a20.dtsi                   | 102 +-
>  .../dts/sun8i-a83t-allwinner-h8homlet-v2.dts  | 195 +++-
>  arch/arm/dts/sun8i-a83t-bananapi-m3.dts       | 298 +++++-
>  arch/arm/dts/sun8i-a83t-cubietruck-plus.dts   | 322 ++++++-
>  arch/arm/dts/sun8i-a83t-tbs-a711.dts          | 355 ++++++-
>  arch/arm/dts/sun8i-a83t.dtsi                  | 885 ++++++++++++++++--
>  arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts  | 197 +++-
>  arch/arm/dts/sun8i-r40.dtsi                   | 616 +++++++++++-
>  arch/arm/dts/sun8i-v40-bananapi-m2-berry.dts  |  50 +
>  arch/arm/mach-sunxi/Kconfig                   |  10 +
>  board/sunxi/board.c                           |   2 +-
>  configs/A20-OLinuXino-Lime2-eMMC_defconfig    |   2 +
>  configs/A20-OLinuXino_MICRO-eMMC_defconfig    |   1 +
>  configs/A20-OLinuXino_MICRO_defconfig         |   1 +
>  configs/A20-Olimex-SOM-EVB_defconfig          |   1 +
>  configs/A20-Olimex-SOM204-EVB-eMMC_defconfig  |   1 +
>  configs/Mele_M3_defconfig                     |   1 +
>  configs/Orangepi_mini_defconfig               |   1 +
>  configs/Sinlinx_SinA33_defconfig              |   2 +
>  configs/Yones_Toptech_BD1078_defconfig        |   1 +
>  configs/amarula_a64_relic_defconfig           |   2 +
>  drivers/fastboot/Kconfig                      |   3 +-
>  drivers/mmc/sunxi_mmc.c                       |  81 +-
>  env/Kconfig                                   |   3 +-
>  include/configs/sunxi-common.h                |   4 +-
>  include/dt-bindings/clock/sun4i-a10-ccu.h     | 202 ++++
>  include/dt-bindings/clock/sun7i-a20-ccu.h     |  53 ++
>  include/dt-bindings/clock/sun8i-a83t-ccu.h    | 140 +++
>  include/dt-bindings/reset/sun8i-a83t-ccu.h    |  98 ++
>  57 files changed, 3715 insertions(+), 371 deletions(-)
>  create mode 100644 arch/arm/dts/axp81x.dtsi
>  create mode 100644 include/dt-bindings/clock/sun4i-a10-ccu.h
>  create mode 100644 include/dt-bindings/clock/sun7i-a20-ccu.h
>  create mode 100644 include/dt-bindings/clock/sun8i-a83t-ccu.h
>  create mode 100644 include/dt-bindings/reset/sun8i-a83t-ccu.h
>
> --
> 2.17.1
>

  parent reply	other threads:[~2018-07-16  8:35 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-16  8:19 [U-Boot] [PATCH 00/25] sunxi: Enable DM_MMC for U-Boot proper Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 01/25] ARM: dts: sun4i: Sync A10 MMC nodes from Linux Jagan Teki
2018-07-16  9:30   ` Maxime Ripard
2018-07-16 10:28     ` Jagan Teki
2018-07-16 13:37       ` Maxime Ripard
2018-07-16  8:19 ` [U-Boot] [PATCH 02/25] ARM: dts: sun4i: Sync A10 board dts mmc0 node " Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 03/25] ARM: dts: sun4i: Add mmc0 node for iNet 3F Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 04/25] ARM: dts: sun4i: Add mmc0 node for iNet 3W Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 05/25] dm: mmc: sunxi: Refactor ahb gate and clock setup Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 06/25] dm: mmc: sunxi: Add ahb reset0 register write Jagan Teki
2018-07-16  9:39   ` Maxime Ripard
2018-07-16  9:55     ` Jagan Teki
2018-07-16 10:02       ` Maxime Ripard
2018-07-16 10:39         ` Jagan Teki
2018-07-16 13:36           ` Maxime Ripard
2018-07-16  8:19 ` [U-Boot] [PATCH 07/25] ARM: dts: sun7i: Sync A20 MMC nodes from Linux Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 08/25] ARM: dts: sun7i: Add mmc0 node for Primo73 tablet Jagan Teki
2018-07-16  9:40   ` Maxime Ripard
2018-07-16 10:03     ` Jagan Teki
2018-07-16 10:09       ` Chen-Yu Tsai
2018-07-16  8:19 ` [U-Boot] [PATCH 09/25] ARM: dts: sun7i: Add mmc0 node for Ainol AW1 Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 10/25] ARM: dts: sun7i: Add mmc0 node for Mele M5 Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 11/25] ARM: dts: sun7i: Add mmc0 node for Toptech BD1078 Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 12/25] sunxi: A20: Enable DM_MMC Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 13/25] mmc: sunxi: Add mmc, emmc H5/A64 compatible Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 14/25] sunxi: H3_H5: Enable DM_MMC Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 15/25] sunxi: A64: " Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 16/25] ARM: dts: sun8i: Update A83T dts(i) files from Linux Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 17/25] mmc: sunxi: Add A83T emmc compatible Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 18/25] sunxi: A83T: Enable DM_MMC Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 19/25] ARM: dts: sun8i: Update R40 dts(i) files from Linux Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 20/25] sunxi: V40: Enable DM_MMC Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 21/25] fastboot: sunxi: Update fastboot mmc default device Jagan Teki
2018-07-16  9:46   ` Maxime Ripard
2018-07-16 10:12     ` Jagan Teki
2018-07-16 11:11       ` Alex Kiernan
2018-07-17 11:57         ` Maxime Ripard
2018-07-18 19:15           ` Alex Kiernan
2018-07-19 13:26             ` Maxime Ripard
2018-07-19 18:11               ` Jagan Teki
2018-07-20  7:39                 ` Maxime Ripard
2018-07-19 18:43               ` Alex Kiernan
2018-07-20  7:34                 ` Maxime Ripard
2018-07-17 11:56       ` Maxime Ripard
2018-07-16  8:19 ` [U-Boot] [PATCH 22/25] env: sunxi: Update default env fat device Jagan Teki
2018-07-16  9:47   ` Maxime Ripard
2018-07-16 10:16     ` Jagan Teki
2018-07-17 11:54       ` Maxime Ripard
2018-07-19 18:21         ` Jagan Teki
2018-07-16  8:19 ` [U-Boot] [PATCH 23/25] sunxi: Use mmc_bootdev=2 for MMC2 boot Jagan Teki
2018-07-16  9:48   ` Maxime Ripard
2018-07-16 10:21     ` Jagan Teki
2018-07-17 11:55       ` Maxime Ripard
2018-07-16  8:19 ` [U-Boot] [DO NOT MERGE PATCH 24/25] sunxi: A13/A31: Enable DM_MMC Jagan Teki
2018-07-16  8:19 ` [U-Boot] [DO NOT MERGE PATCH 25/25] sunxi: A23/A33/V3S: " Jagan Teki
2018-07-16  8:35 ` Chen-Yu Tsai [this message]
2018-07-16  9:52   ` [U-Boot] [PATCH 00/25] sunxi: Enable DM_MMC for U-Boot proper Maxime Ripard
2018-07-16 11:08     ` Andre Przywara
2018-07-16 11:42       ` Jagan Teki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGb2v666YgActKJcDc9z-acZanE2TQ=N7A=5VJVwTUGYSxySgw@mail.gmail.com' \
    --to=wens@csie.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.