public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Johan Jonker <jbx6244@gmail.com>
To: dario.binacchi@amarulasolutions.com,
	michael@amarulasolutions.com, sjg@chromium.org,
	philipp.tomsich@vrull.eu, kever.yang@rock-chips.com
Cc: u-boot@lists.denx.de, yifeng.zhao@rock-chips.com
Subject: Re: [PATCH v6 11/22] core: remap: convert regmap_init_mem_plat() input to phys_addr_t
Date: Wed, 8 Mar 2023 09:39:28 +0100	[thread overview]
Message-ID: <d3ef67ca-00d8-14c2-c6cc-ddb40407e3c9@gmail.com> (raw)
In-Reply-To: <5660f08b-516c-ae72-3402-c7b742a7cb01@gmail.com>



On 3/3/23 01:14, Johan Jonker wrote:
> The fdt_addr_t and phys_addr_t size have been decoupled.
> A 32bit CPU can expect 64-bit data from the device tree parser,
> so convert regmap_init_mem_plat() input to phys_addr_t in files
> that use this function. Also correct struct syscon_base_plat
> depending on CONFIG_PHYS_64BIT setting and fix ARRAY_SIZE
> divider.
> 
> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
> ---
>  drivers/core/regmap.c               |  2 +-
>  drivers/core/syscon-uclass.c        |  4 ++--
>  drivers/ram/rockchip/sdram_rk3066.c |  2 +-
>  drivers/ram/rockchip/sdram_rk3188.c |  2 +-
>  drivers/ram/rockchip/sdram_rk322x.c |  2 +-
>  drivers/ram/rockchip/sdram_rk3288.c |  2 +-
>  drivers/ram/rockchip/sdram_rk3328.c |  2 +-
>  drivers/ram/rockchip/sdram_rk3399.c |  2 +-
>  include/regmap.h                    |  2 +-
>  include/syscon.h                    | 13 +++++++------
>  10 files changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/core/regmap.c b/drivers/core/regmap.c
> index e33bb9d7..37da64b2 100644
> --- a/drivers/core/regmap.c
> +++ b/drivers/core/regmap.c
> @@ -79,7 +79,7 @@ static struct regmap *regmap_alloc(int count)
>  }
> 
>  #if CONFIG_IS_ENABLED(OF_PLATDATA)
> -int regmap_init_mem_plat(struct udevice *dev, fdt_val_t *reg, int count,
> +int regmap_init_mem_plat(struct udevice *dev, phys_addr_t *reg, int count,
>  			 struct regmap **mapp)
>  {
>  	struct regmap_range *range;
> diff --git a/drivers/core/syscon-uclass.c b/drivers/core/syscon-uclass.c
> index 25fdb66e..b557a24f 100644
> --- a/drivers/core/syscon-uclass.c
> +++ b/drivers/core/syscon-uclass.c
> @@ -58,8 +58,8 @@ static int syscon_pre_probe(struct udevice *dev)
>  #if CONFIG_IS_ENABLED(OF_PLATDATA)

>  	struct syscon_base_plat *plat = dev_get_plat(dev);

This patch must be put in the garbage bin for now.

The size of plat data is unknown.
Where is this plat data defined?
struct syscon_base_plat is not used elsewhere.
With rk3288 this can be 32 or 64bit size.
The only place that this can be found out is in the syscon driver that holds the compatible and the struct dtd.
Must test if data from struct dtd can be transfered to dev->plat by dev_set_plat() into a fixed struct syscon_base_plat format.
Any ideas on how to move forward/fix are welcome!

Johan

> 
> -	return regmap_init_mem_plat(dev, plat->reg, ARRAY_SIZE(plat->reg),
> -					&priv->regmap);
> +	return regmap_init_mem_plat(dev, (phys_addr_t *)plat->reg,
> +				    ARRAY_SIZE(plat->reg) / 2, &priv->regmap);

This patch 



>  #else
>  	return regmap_init_mem(dev_ofnode(dev), &priv->regmap);
>  #endif


[..]

> diff --git a/include/syscon.h b/include/syscon.h
> index f5e6cc1a..836ae07c 100644
> --- a/include/syscon.h
> +++ b/include/syscon.h
> @@ -27,14 +27,15 @@ struct syscon_ops {
> 
>  #if CONFIG_IS_ENABLED(OF_PLATDATA)
>  /*
> - * We don't support 64-bit machines. If they are so resource-contrained that
> - * they need to use OF_PLATDATA, something is horribly wrong with the
> - * education of our hardware engineers.
> - *
> - * Update: 64-bit is now supported and we have an education crisis.
> + * Support for 64bit or 32bit fdt addresses
> + * depending on the physical SoC properties.
>   */
>  struct syscon_base_plat {
> -	fdt_val_t reg[2];
> +#ifdef CONFIG_PHYS_64BIT
> +	fdt64_t reg[2];
> +#else
> +	fdt32_t reg[2];
> +#endif
>  };
>  #endif
> 
> --
> 2.20.1
> 

  reply	other threads:[~2023-03-08  8:39 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-03  0:08 [PATCH v6 00/22] Fixes for Rockchip NFC driver part 1 Johan Jonker
2023-03-03  0:12 ` [PATCH v6 01/22] mtd: nand: raw: rockchip_nfc: use dev_read_addr_ptr Johan Jonker
2023-03-03  0:12 ` [PATCH v6 02/22] mtd: nand: raw: rockchip_nfc: remove the compatible string "rockchip,rk3308-nfc" Johan Jonker
2023-03-03  0:12 ` [PATCH v6 03/22] mtd: nand: raw: rockchip_nfc: add layout structure Johan Jonker
2023-03-03  0:12 ` [PATCH v6 04/22] mtd: nand: raw: rockchip_nfc: add flash_node to chip structure Johan Jonker
2023-03-03  0:13 ` [PATCH v6 05/22] mtd: nand: raw: rockchip_nfc: fix oobfree offset and description Johan Jonker
2023-03-03  0:13 ` [PATCH v6 06/22] mtd: nand: add support for the Sandisk SDTNQGAMA chip Johan Jonker
2023-03-09  7:22   ` Michael Nazzareno Trimarchi
2023-03-03  0:13 ` [PATCH v6 07/22] rockchip: adc: rockchip-saradc: use dev_read_addr_ptr Johan Jonker
2023-03-03  0:13 ` [PATCH v6 08/22] rockchip: timer: dw-apb-timer: use reg variable with phys_addr_t size Johan Jonker
2023-03-03  0:14 ` [PATCH v6 09/22] rockchip: pwm: rk_pwm: " Johan Jonker
2023-03-03  0:14 ` [PATCH v6 10/22] include: dm: ofnode: fix headers Johan Jonker
2023-03-03  0:14 ` [PATCH v6 11/22] core: remap: convert regmap_init_mem_plat() input to phys_addr_t Johan Jonker
2023-03-08  8:39   ` Johan Jonker [this message]
2023-03-08 17:16     ` Simon Glass
2023-03-03  0:14 ` [PATCH v6 12/22] core: fdtaddr: add devfdt_get_addr_size_index_ptr function Johan Jonker
2023-03-06 17:53   ` Simon Glass
2023-03-06 20:55     ` Johan Jonker
2023-03-11  1:37       ` Simon Glass
2023-03-03  0:15 ` [PATCH v6 13/22] core: read: add dev_read_addr_index_ptr function Johan Jonker
2023-03-06 18:20   ` Simon Glass
2023-03-03  0:15 ` [PATCH v6 14/22] spi: spi-aspeed-smc: use devfdt_get_addr_index_ptr Johan Jonker
2023-03-03  0:15 ` [PATCH v6 15/22] drivers: use dev_read_addr_index_ptr when cast to pointer Johan Jonker
2023-03-06 18:20   ` Simon Glass
2023-03-06 20:32     ` Johan Jonker
2023-03-11  1:37       ` Simon Glass
2023-03-11 19:17         ` Simon Glass
2023-03-03  0:16 ` [PATCH v6 16/22] drivers: use dev_read_addr_ptr " Johan Jonker
2023-03-03  0:16 ` [PATCH v6 17/22] drivers: use devfdt_get_addr_size_index_ptr " Johan Jonker
2023-03-06 17:53   ` Simon Glass
2023-03-03  0:16 ` [PATCH v6 18/22] drivers: use devfdt_get_addr_index_ptr " Johan Jonker
2023-03-03  0:16 ` [PATCH v6 19/22] drivers: use devfdt_get_addr_ptr " Johan Jonker
2023-03-03  0:17 ` [PATCH v6 20/22] drivers: fix debug string with fdt_addr_t input Johan Jonker
2023-03-03  0:17 ` [PATCH v6 21/22] arm: stm32mp: spl: fix function " Johan Jonker
2023-03-03  0:17 ` [PATCH v6 22/22] include: fdtdec: decouple fdt_addr_t and phys_addr_t size Johan Jonker

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=d3ef67ca-00d8-14c2-c6cc-ddb40407e3c9@gmail.com \
    --to=jbx6244@gmail.com \
    --cc=dario.binacchi@amarulasolutions.com \
    --cc=kever.yang@rock-chips.com \
    --cc=michael@amarulasolutions.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    --cc=yifeng.zhao@rock-chips.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox