[PATCH v2 2/2] nvmxip: add sandbox support
Abdellatif El Khlifi
abdellatif.elkhlifi at arm.com
Wed Aug 16 18:39:40 CEST 2023
Hi Marek,
Please kindly find my comments below.
> > arch/sandbox/dts/sandbox.dts | 14 ++++++++++++++
>
> Please separate DT change
>
> > configs/sandbox_defconfig | 4 ++--
>
> Config change too, separate patch that goes last.
This commit is doing 1 thing: adding 32-bit sandbox support.
The DT change comes into the same context.
It makes sense to keep it in this same commit.
In previous contributions I made, it was accepted that DT
and defconfig are part of the same commit as the code.
Let's see what Simon thinks.
I'm happy to split if that has becone a new requirement.
> > int devnum;
> > -#if CONFIG_IS_ENABLED(SANDBOX64)
> > +#if CONFIG_IS_ENABLED(SANDBOX)
> > sandbox_set_enable_memio(true);
>
> This should not be in drivers at all, this should be in tests/ , see
>
> https://source.denx.de/u-boot/custodians/u-boot-sh/-/commit/b07772226b405d6212d4faa9329d64a09708b188
Thanks, I'm happy to improve that one. I'll move it to tests in a seperate commit :)
>
> > #endif
> > @@ -62,7 +62,7 @@ static int nvmxip_post_bind(struct udevice *udev)
> > return ret;
> > }
> > - log_info("[%s]: the block device %s ready for use\n", udev->name, bdev_name);
> > + log_debug("[%s]: the block device %s ready for use\n", udev->name, bdev_name);
>
> Unrelated change -> separate patch please.
Valid point, I'll do thanks.
> > + l_word = readl(address);
> > + h_word = readl((u8 *)address + sizeof(u32));
> > + *value = FIELD_PREP(GENMASK_ULL(63, 32), h_word) | l_word;
> > +#endif
> > return 0;
> > }
> > @@ -67,7 +76,7 @@ static ulong nvmxip_blk_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcn
> > /* assumption: the data is virtually contiguous */
> > for (qdata_idx = 0 ; qdata_idx < qwords ; qdata_idx++)
> > - nvmxip_mmio_rawread((phys_addr_t)(virt_blkaddr + qdata_idx), pdst++);
> > + nvmxip_mmio_rawread(virt_blkaddr + qdata_idx, pdst++);
>
> Separate patch please, or just use this commit as part of this series:
>
> https://source.denx.de/u-boot/custodians/u-boot-sh/-/commit/85a662e98c44921a0f5652fa4b170625424ef9a9
This is part of the 32-bit support work.
Before this commit, it works fine on sandbox64.
> > log_debug("[%s]: src[0]: 0x%llx , dst[0]: 0x%llx , src[-1]: 0x%llx , dst[-1]: 0x%llx\n",
> > dev->name,
> > diff --git a/drivers/mtd/nvmxip/nvmxip_qspi.c b/drivers/mtd/nvmxip/nvmxip_qspi.c
> > index 7221fd1cb4..faeb99b4ad 100644
> > --- a/drivers/mtd/nvmxip/nvmxip_qspi.c
> > +++ b/drivers/mtd/nvmxip/nvmxip_qspi.c
> > @@ -50,7 +50,7 @@ static int nvmxip_qspi_of_to_plat(struct udevice *dev)
> > return -EINVAL;
> > }
> > - log_debug("[%s]: XIP device base addr: 0x%llx , lba_shift: %d , lbas: %lu\n",
> > + log_debug("[%s]: XIP device base addr: " PHYS_ADDR_LN " , lba_shift: %d , lbas: %lu\n",
> > dev->name, plat->phys_base, plat->lba_shift, plat->lba);
>
> Another separate patch.
This is part of the 32-bit support work.
>
> > return 0;
> > diff --git a/test/dm/Makefile b/test/dm/Makefile
> > index 7ed00733c1..77172d9012 100644
> > --- a/test/dm/Makefile
> > +++ b/test/dm/Makefile
> > @@ -18,7 +18,7 @@ obj-$(CONFIG_UT_DM) += test-uclass.o
> > obj-$(CONFIG_UT_DM) += core.o
> > obj-$(CONFIG_UT_DM) += read.o
> > obj-$(CONFIG_UT_DM) += phys2bus.o
> > -ifeq ($(CONFIG_NVMXIP_QSPI)$(CONFIG_SANDBOX64),yy)
> > +ifeq ($(CONFIG_NVMXIP_QSPI),y)
>
> Separate patch.
>
> Look here for some ideas:
>
> https://source.denx.de/u-boot/custodians/u-boot-sh/-/commits/ci%2Ftest-sandbox64?ref_type=heads
SANDBOX applies for both sandbox64 and sandbox.
This is part of enabling sandbox alongside sandbox64.
This has been tested and works.
Kind regards
Abdellatif
More information about the U-Boot
mailing list