mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <sha@pengutronix.de>
To: Marco Felsch <m.felsch@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH v2 02/18] ARM: i.MX8M: bundle imx-scratch code
Date: Thu, 18 Jan 2024 11:16:03 +0100	[thread overview]
Message-ID: <20240118101603.GL4700@pengutronix.de> (raw)
In-Reply-To: <20240118091118.q2gibngag2vqhspc@pengutronix.de>

On Thu, Jan 18, 2024 at 10:11:18AM +0100, Marco Felsch wrote:
> On 24-01-17, Sascha Hauer wrote:
> > On Tue, Jan 16, 2024 at 06:07:22PM +0100, Marco Felsch wrote:
> > > The scatch code spread over the code base which is ok as long as we use
> > > it for the bootrom-log only.
> > > 
> > > This commit bundles the scratch code into a own module to make it easier
> > > to adapt later on and to make the scratch space independent of
> > > CONFIG_ARCH_IMX_ROMAPI.
> > > 
> > > Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
> > > ---
> > >  arch/arm/mach-imx/Makefile       |  2 +-
> > >  arch/arm/mach-imx/romapi.c       |  8 --------
> > >  arch/arm/mach-imx/scratch.c      | 25 +++++++++++++++++++++++++
> > >  arch/arm/mach-imx/xload-common.c |  8 --------
> > >  include/mach/imx/romapi.h        |  2 +-
> > >  include/mach/imx/scratch.h       | 17 +++++++++++++++++
> > >  include/mach/imx/xload.h         | 11 -----------
> > >  7 files changed, 44 insertions(+), 29 deletions(-)
> > >  create mode 100644 arch/arm/mach-imx/scratch.c
> > >  create mode 100644 include/mach/imx/scratch.h
> > > 
> > > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > > index 3a51ae87813a..9505cffa8111 100644
> > > --- a/arch/arm/mach-imx/Makefile
> > > +++ b/arch/arm/mach-imx/Makefile
> > > @@ -17,7 +17,7 @@ CFLAGS_imx6.o := -march=armv7-a
> > >  lwl-$(CONFIG_ARCH_IMX6) += imx6-mmdc.o
> > >  obj-$(CONFIG_ARCH_IMX7) += imx7.o
> > >  obj-$(CONFIG_ARCH_VF610) += vf610.o
> > > -obj-pbl-$(CONFIG_ARCH_IMX8M) += imx8m.o
> > > +obj-pbl-$(CONFIG_ARCH_IMX8M) += imx8m.o scratch.o
> > >  obj-$(CONFIG_ARCH_IMX9) += imx9.o
> > >  lwl-$(CONFIG_ARCH_IMX_ATF) += atf.o
> > >  obj-pbl-$(CONFIG_ARCH_IMX8M) += tzasc.o
> > > diff --git a/arch/arm/mach-imx/romapi.c b/arch/arm/mach-imx/romapi.c
> > > index 6d47f3c6d4af..e11f38202461 100644
> > > --- a/arch/arm/mach-imx/romapi.c
> > > +++ b/arch/arm/mach-imx/romapi.c
> > > @@ -228,14 +228,6 @@ const u32 *imx8m_get_bootrom_log(void)
> > >  	return NULL;
> > >  }
> > >  
> > > -static int imx8m_reserve_scratch_area(void)
> > > -{
> > > -	return PTR_ERR_OR_ZERO(request_sdram_region("scratch area",
> > > -				    (ulong)arm_mem_scratch_get(),
> > > -				    sizeof(struct imx_scratch_space)));
> > > -}
> > > -device_initcall(imx8m_reserve_scratch_area);
> > > -
> > >  void imx8m_save_bootrom_log(void *dest)
> > >  {
> > >  	const u32 *rom_log;
> > > diff --git a/arch/arm/mach-imx/scratch.c b/arch/arm/mach-imx/scratch.c
> > > new file mode 100644
> > > index 000000000000..0828b55ff8e5
> > > --- /dev/null
> > > +++ b/arch/arm/mach-imx/scratch.c
> > > @@ -0,0 +1,25 @@
> > > +// SPDX-License-Identifier: GPL-2.0-only
> > > +
> > > +#include <asm/barebox-arm.h>
> > > +#include <init.h>
> > > +#include <linux/err.h>
> > > +#include <mach/imx/imx8m-regs.h>
> > > +#include <mach/imx/esdctl.h>
> > > +#include <mach/imx/scratch.h>
> > > +#include <memory.h>
> > > +
> > > +struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth)
> > > +{
> > > +	ulong endmem = MX8M_DDR_CSD1_BASE_ADDR +
> > > +		imx8m_barebox_earlymem_size(ddr_buswidth);
> > > +
> > > +	return (void *)arm_mem_scratch(endmem);
> > > +}
> > > +
> > > +static int imx8m_reserve_scratch_area(void)
> > > +{
> > > +	return PTR_ERR_OR_ZERO(request_sdram_region("scratch area",
> > > +				    (ulong)arm_mem_scratch_get(),
> > > +				    sizeof(struct imx_scratch_space)));
> > > +}
> > > +device_initcall(imx8m_reserve_scratch_area);
> > 
> > This reservation doesn't seem to be i.MX specific. You could move this
> > to a more generic place.
> 
> You mean to use it for Rockchip,... as well or just for all i.MX SoCs? I
> wanted to keep this commit as simple as possible by just shifting the
> code from placeA to placeB without changing the logic nor the naming.

I didn't notice that this code was just moved, so it's ok for this
commit.

What I really meant is that this could be ARM generic as the scratch
area exists on all ARM machines. It's size is 32KiB, I am not sure why
sizeof(struct imx_scratch_space) is used here. It could be used to
request some other offset in the scratch area for somehing else, but do
we really want to go that path?
If this reservation is only meant to see something in the iomem output,
then we could make this reservation ARM generic.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



  reply	other threads:[~2024-01-18 10:17 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-16 17:07 [PATCH v2 00/18] Dynamic OP-TEE Loading Marco Felsch
2024-01-16 17:07 ` [PATCH v2 01/18] ARM: i.MX8M: atf: make use of imx8m*_save_bootrom_log macros Marco Felsch
2024-01-16 17:07 ` [PATCH v2 02/18] ARM: i.MX8M: bundle imx-scratch code Marco Felsch
2024-01-17 14:36   ` Sascha Hauer
2024-01-18  9:11     ` Marco Felsch
2024-01-18 10:16       ` Sascha Hauer [this message]
2024-01-16 17:07 ` [PATCH v2 03/18] ARM: i.MX8M: scratch: make imx_scratch_space private Marco Felsch
2024-01-16 17:07 ` [PATCH v2 04/18] ARM: i.MX8M: romapi: refactor saving the bootrom log Marco Felsch
2024-01-16 17:07 ` [PATCH v2 05/18] ARM: i.MX8M: scratch: add optee_hdr area Marco Felsch
2024-01-17 15:00   ` Sascha Hauer
2024-01-18  9:07     ` Marco Felsch
2024-01-16 17:07 ` [PATCH v2 06/18] common: limit BOOTM_OPTEE to 32bit systems Marco Felsch
2024-01-16 17:07 ` [PATCH v2 07/18] common: add OPTEE_SHM_SIZE to configure optee shared memory Marco Felsch
2024-01-16 17:07 ` [PATCH v2 08/18] optee: add support to verify 64-bit headers as well Marco Felsch
2024-01-16 17:07 ` [PATCH v2 09/18] optee: add header version check Marco Felsch
2024-01-16 17:07 ` [PATCH v2 10/18] optee: add helper functions to set/get the optee memory base Marco Felsch
2024-01-16 17:07 ` [PATCH v2 11/18] optee: optee_verify_header: constify optee_header Marco Felsch
2024-01-16 17:07 ` [PATCH v2 12/18] ARM64: mmu: add dynamic optee memory mapping support Marco Felsch
2024-01-17 14:33   ` Sascha Hauer
2024-01-18  9:13     ` Marco Felsch
2024-01-18 10:17       ` Sascha Hauer
2024-01-16 17:07 ` [PATCH v2 13/18] ARM: i.MX8M: add dynamic optee memory of-fixup support Marco Felsch
2024-01-16 17:07 ` [PATCH v2 14/18] drivers: tee: optee: add support for dynamic optee memory base address Marco Felsch
2024-01-16 17:07 ` [PATCH v2 15/18] ARM: i.MX8M: atf: add support for optee hdr parsing Marco Felsch
2024-01-16 17:07 ` [PATCH v2 16/18] ARM: i.MX8M: allow board code to configure the bl33 loadaddr Marco Felsch
2024-01-16 17:07 ` [PATCH v2 17/18] ARM: i.MX8M: cleanup MX8M*_ATF_BL33_BASE_ADDR defines Marco Felsch
2024-01-16 17:07 ` [PATCH v2 18/18] ARM: i.MX8M: fix optee of-fixup logic Marco Felsch
2024-01-18 15:30   ` Sascha Hauer
2024-01-18 16:52     ` Marco Felsch
2024-01-19  8:02 ` [PATCH v2 00/18] Dynamic OP-TEE Loading Sascha Hauer
2024-01-19  8:09   ` Sascha Hauer
2024-01-19  8:20     ` Marco Felsch

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=20240118101603.GL4700@pengutronix.de \
    --to=sha@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=m.felsch@pengutronix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox