From: Johan Jonker <jbx6244@gmail.com>
To: John Keeping <john@metanate.com>
Cc: dario.binacchi@amarulasolutions.com,
michael@amarulasolutions.com, sjg@chromium.org,
philipp.tomsich@vrull.eu, kever.yang@rock-chips.com,
u-boot@lists.denx.de, yifeng.zhao@rock-chips.com
Subject: Re: [PATCH v8 13/24] rockchip: rk3288: syscon_rk3288: store syscon platdata in regmap
Date: Mon, 13 Mar 2023 17:53:20 +0100 [thread overview]
Message-ID: <c8cbb39d-ef7a-7981-6838-ec456ea09816@gmail.com> (raw)
In-Reply-To: <ZA8kb3N+9sj/EXD2@donbot>
On 3/13/23 14:26, John Keeping wrote:
> On Mon, Mar 13, 2023 at 01:30:57AM +0100, Johan Jonker wrote:
>> The Rockchip SoC rk3288 has 2 types of device trees floating around.
>> A 64bit reg size when synced from Linux and a 32bit for U-boot.
>> A pre-probe function in the syscon class driver assumes only 32bit.
>> For other odd reg structures the regmap must be defined in the individual
>> syscon driver. Store rk3288 platdata in a regmap before pre-probe
>> during bind.
>>
>> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
>> ---
>
> What is special about the rk3288 syscon that means the driver needs this
> handling? Isn't this a general problem for DTs with 64-bit addresses on
> 32-bit systems that could be solved in syscon-uclass.c?
The dtd structure is only know to the driver with the SoC orientated compatible string.
I see guessing the "reg" size more as a legacy that we keep using for existing drivers
and should be deprecated.
>
> I suspect it's difficult to handle the general case since #memory-cells
> may be difference for difference syscons so a global constant doesn't
> work, but the approach in this patch seems incredibly verbose for
You are right here, but other then rk3288 I don't see that happen for other 32bit Rockchip SoCs.
It's more verbose, because struct syscon_uc_info is not there yet in the bind fase. (ie. calloc)
> something that is likely to be needed for many platforms.
>
> Could we use driver flags with something like:
>
> .flags = of_platdata_reg_size(struct rockchip_rk3288_noc_plat),
Driver flags might solve only the "reg" size part, but not the ARRAY_SIZE and the unknown "reg" property location part.
>
> and this untested macro:
>
> #define of_platdata_reg_size(s) \
> ((sizeof(((struct rockchip_rk3288_noc_plat *) 0)->reg) == 64) ? \
> DM_FLAGS_PLATDATA_REG_64BIT : 0)
This would create a parallel data flow of a "size flag and ARRAY_SIZE variable + data" in
a structure to the syscon class driver that also must be stored somewhere,
while we could do the thing correct in the regmap structure right away.
Johan
next prev parent reply other threads:[~2023-03-13 16:53 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-13 0:23 [PATCH v8 00/24] Fixes for Rockchip NFC driver part 1 Johan Jonker
2023-03-13 0:28 ` [PATCH v8 01/24] mtd: nand: raw: rockchip_nfc: use dev_read_addr_ptr Johan Jonker
2023-03-13 0:28 ` [PATCH v8 02/24] mtd: nand: raw: rockchip_nfc: remove the compatible string "rockchip,rk3308-nfc" Johan Jonker
2023-03-13 0:28 ` [PATCH v8 03/24] mtd: nand: raw: rockchip_nfc: add layout structure Johan Jonker
2023-03-13 0:28 ` [PATCH v8 04/24] mtd: nand: raw: rockchip_nfc: add flash_node to chip structure Johan Jonker
2023-03-13 0:29 ` [PATCH v8 05/24] mtd: nand: raw: rockchip_nfc: fix oobfree offset and description Johan Jonker
2023-03-13 0:29 ` [PATCH v8 06/24] mtd: nand: add support for the Sandisk SDTNQGAMA chip Johan Jonker
2023-03-13 0:29 ` [PATCH v8 07/24] rockchip: adc: rockchip-saradc: use dev_read_addr_ptr Johan Jonker
2023-03-13 0:29 ` [PATCH v8 08/24] rockchip: timer: dw-apb-timer: use regs variable with uintptr_t size Johan Jonker
2023-03-13 3:10 ` Simon Glass
2023-03-13 0:30 ` [PATCH v8 09/24] rockchip: pwm: rk_pwm: use base " Johan Jonker
2023-03-13 3:10 ` Simon Glass
2023-03-13 0:30 ` [PATCH v8 10/24] rockchip: spi: rk_spi: " Johan Jonker
2023-03-13 3:10 ` Simon Glass
2023-03-13 0:30 ` [PATCH v8 11/24] include: dm: ofnode: fix headers Johan Jonker
2023-03-13 0:30 ` [PATCH v8 12/24] core: remap: fix regmap_init_mem_plat() reg size handeling Johan Jonker
2023-03-13 3:10 ` Simon Glass
2023-03-13 0:30 ` [PATCH v8 13/24] rockchip: rk3288: syscon_rk3288: store syscon platdata in regmap Johan Jonker
2023-03-13 3:10 ` Simon Glass
2023-03-13 12:15 ` Johan Jonker
2023-03-13 13:26 ` John Keeping
2023-03-13 16:53 ` Johan Jonker [this message]
2023-03-13 17:46 ` John Keeping
2023-03-13 21:09 ` Johan Jonker
2023-03-14 18:28 ` John Keeping
2023-03-13 0:31 ` [PATCH v8 14/24] core: fdtaddr: add devfdt_get_addr_size_index_ptr function Johan Jonker
2023-03-13 0:31 ` [PATCH v8 15/24] core: read: add dev_read_addr_index_ptr function Johan Jonker
2023-03-13 0:31 ` [PATCH v8 16/24] spi: spi-aspeed-smc: use devfdt_get_addr_index_ptr Johan Jonker
2023-03-13 0:31 ` [PATCH v8 17/24] drivers: use dev_read_addr_index_ptr when cast to pointer Johan Jonker
2023-03-13 3:10 ` Simon Glass
2023-03-13 0:32 ` [PATCH v8 18/24] drivers: use dev_read_addr_ptr " Johan Jonker
2023-03-13 0:32 ` [PATCH v8 19/24] drivers: use devfdt_get_addr_size_index_ptr " Johan Jonker
2023-03-13 0:32 ` [PATCH v8 20/24] drivers: use devfdt_get_addr_index_ptr " Johan Jonker
2023-03-13 0:32 ` [PATCH v8 21/24] drivers: use devfdt_get_addr_ptr " Johan Jonker
2023-03-13 0:32 ` [PATCH v8 22/24] drivers: fix debug string with fdt_addr_t input Johan Jonker
2023-03-13 0:33 ` [PATCH v8 23/24] arm: stm32mp: spl: fix function " Johan Jonker
2023-03-13 0:33 ` [PATCH v8 24/24] include: fdtdec: decouple fdt_addr_t and phys_addr_t size Johan Jonker
2023-04-21 3:15 ` [PATCH v8 00/24] Fixes for Rockchip NFC driver part 1 Kever Yang
2023-04-21 15:33 ` [PATCH v9] core: fdtaddr: add devfdt_get_addr_size_index_ptr function Johan Jonker
2023-04-21 15:34 ` [PATCH v8 00/24] Fixes for Rockchip NFC driver part 1 Johan Jonker
2023-04-22 20:33 ` Johan Jonker
2023-04-23 1:51 ` Kever Yang
2023-04-23 9:24 ` Johan Jonker
2023-04-24 23:33 ` Simon Glass
2023-04-23 9:19 ` [PATCH v9] core: fdtaddr: use map_sysmem() as cast for the return Johan Jonker
2023-04-24 19:42 ` Simon Glass
2023-04-28 19:20 ` Simon Glass
2023-04-28 19:26 ` Simon Glass
2023-05-10 21:48 ` [PATCH v10] core: fdtaddr: use map_sysmem() as cast for the return (part 2) Johan Jonker
2023-05-11 7:12 ` Kever Yang
2023-05-11 8:03 ` Johan Jonker
2023-05-16 15:19 ` Tom Rini
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=c8cbb39d-ef7a-7981-6838-ec456ea09816@gmail.com \
--to=jbx6244@gmail.com \
--cc=dario.binacchi@amarulasolutions.com \
--cc=john@metanate.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