[PATCH v2 0/1] Add Kindle generation 6/7 support

Sascha Hauer s.hauer at pengutronix.de
Mon Nov 17 00:43:24 PST 2025


On Mon, Nov 17, 2025 at 06:46:00AM +0000, Alexander Kurz wrote:
> Changes in v2:
> - Link to v1: https://lore.barebox.org/barebox/aRMOO3jH4a16GBI6@pengutronix.de/
> - Remove explicit RAM size settings from lowlevel.c and dts since this can be
>   autodetected. As consequence, both DP75SDI variants (Paperwhite 2 and 3) now
>   share the same dts.
> - Rebase to current
> - Attempts to use barebox,deep-probe did unfortunately not work yet.
>   Brief description of the problem:
>   Device specific data is stored in /dev/mmc1.boot0.userdata, this data
>   is read by barebox and passed as ATAGs to the vendor kernel, without this
>   data, the device won't work properly.
>   An attempt has been made to use barebox,deep-probe (see patch below), however,
>   mmc1 will not be available later, resulting e.g. in an error
>   > Could not read board info from /dev/mmc1.boot0.userdata
>   during startup.
>   Example patch:
> # diff --git a/arch/arm/boards/kindle-mx6sl/board.c b/arch/arm/boards/kindle-mx6sl/board.c
> index ff8083a756..5c18e074c9 100644
> --- a/arch/arm/boards/kindle-mx6sl/board.c
> +++ b/arch/arm/boards/kindle-mx6sl/board.c
> @@ -194,15 +194,10 @@ late_initcall(kindle_mx6sl_late_init);
>  
>  static int kindle6_device_init(void)
>  {
> -       struct device *dev;
> -
>         if (!is_mx6sl_kindle())
>                 return 0;
>  
> -       /* Probe the eMMC to allow reading the board serial and revision */
> -       dev = get_device_by_name("mmc1");
> -       if (dev)
> -               dev_set_param(dev, "probe", "1");
> +       of_device_ensure_probed_by_alias("mmc1");

On return of this function the MMC host is probed, but the card is not
yet detected. You can do that by adding a:

	device_detect_by_name("mmc1");

Does it work with this line added?

Sascha

>  
>         defaultenv_append_directory(defaultenv_kindle_mx6sl);
>  
> # diff --git a/arch/arm/dts/imx6sl-kindle-dp75sdi.dts b/arch/arm/dts/imx6sl-kindle-dp75sdi.dts
> index 9dc4a0c867..05fdd77a47 100644
> --- a/arch/arm/dts/imx6sl-kindle-dp75sdi.dts
> +++ b/arch/arm/dts/imx6sl-kindle-dp75sdi.dts
> @@ -12,7 +12,7 @@
>  / {
>         model = "kindle-dp75sdi";
>         compatible = "amazon,imx6sl-kindle-dp75sdi",  "fsl,imx6sl";
> -       barebox,disable-deep-probe;
> +       barebox,deep-probe;
>  };
>  
>  &iomuxc {
> 
> 
> Alexander Kurz (1):
>   ARM i.MX6SL: Add Kindle generation 6/7 support
> 
>  .../boards/imx/amazon-kindle-6-7.rst          |  94 ++++++++
>  arch/arm/boards/Makefile                      |   1 +
>  arch/arm/boards/kindle-mx6sl/Makefile         |   5 +
>  arch/arm/boards/kindle-mx6sl/board.c          | 212 ++++++++++++++++++
>  .../defaultenv-kindle-mx6sl/boot/mmc_kernel   |  11 +
>  .../defaultenv-kindle-mx6sl/init/pmic         |  32 +++
>  .../defaultenv-kindle-mx6sl/init/usbserial    |   4 +
>  .../nv/autoboot_timeout                       |   1 +
>  .../defaultenv-kindle-mx6sl/nv/boot.default   |   1 +
>  .../nv/linux.bootargs.base                    |   1 +
>  .../nv/linux.bootargs.console                 |   1 +
>  .../nv/linux.bootargs.video                   |   1 +
>  .../flash-header-kindle-mx6sl-256m.imxcfg     | 126 +++++++++++
>  .../flash-header-kindle-mx6sl-512m.imxcfg     | 126 +++++++++++
>  arch/arm/boards/kindle-mx6sl/lowlevel.c       |  84 +++++++
>  arch/arm/configs/kindle-gen-6-7_defconfig     |  89 ++++++++
>  arch/arm/dts/Makefile                         |   3 +
>  arch/arm/dts/imx6sl-kindle-common.dtsi        | 167 ++++++++++++++
>  arch/arm/dts/imx6sl-kindle-dp75sdi.dts        |  51 +++++
>  arch/arm/dts/imx6sl-kindle-nm460gz.dts        |  65 ++++++
>  arch/arm/dts/imx6sl-kindle-wp63gw.dts         |  40 ++++
>  arch/arm/mach-imx/Kconfig                     |  17 ++
>  images/Makefile.imx                           |  21 ++
>  23 files changed, 1153 insertions(+)
>  create mode 100644 Documentation/boards/imx/amazon-kindle-6-7.rst
>  create mode 100644 arch/arm/boards/kindle-mx6sl/Makefile
>  create mode 100644 arch/arm/boards/kindle-mx6sl/board.c
>  create mode 100644 arch/arm/boards/kindle-mx6sl/defaultenv-kindle-mx6sl/boot/mmc_kernel
>  create mode 100644 arch/arm/boards/kindle-mx6sl/defaultenv-kindle-mx6sl/init/pmic
>  create mode 100644 arch/arm/boards/kindle-mx6sl/defaultenv-kindle-mx6sl/init/usbserial
>  create mode 100644 arch/arm/boards/kindle-mx6sl/defaultenv-kindle-mx6sl/nv/autoboot_timeout
>  create mode 100644 arch/arm/boards/kindle-mx6sl/defaultenv-kindle-mx6sl/nv/boot.default
>  create mode 100644 arch/arm/boards/kindle-mx6sl/defaultenv-kindle-mx6sl/nv/linux.bootargs.base
>  create mode 100644 arch/arm/boards/kindle-mx6sl/defaultenv-kindle-mx6sl/nv/linux.bootargs.console
>  create mode 100644 arch/arm/boards/kindle-mx6sl/defaultenv-kindle-mx6sl/nv/linux.bootargs.video
>  create mode 100644 arch/arm/boards/kindle-mx6sl/flash-header-kindle-mx6sl-256m.imxcfg
>  create mode 100644 arch/arm/boards/kindle-mx6sl/flash-header-kindle-mx6sl-512m.imxcfg
>  create mode 100644 arch/arm/boards/kindle-mx6sl/lowlevel.c
>  create mode 100644 arch/arm/configs/kindle-gen-6-7_defconfig
>  create mode 100644 arch/arm/dts/imx6sl-kindle-common.dtsi
>  create mode 100644 arch/arm/dts/imx6sl-kindle-dp75sdi.dts
>  create mode 100644 arch/arm/dts/imx6sl-kindle-nm460gz.dts
>  create mode 100644 arch/arm/dts/imx6sl-kindle-wp63gw.dts
> 
> -- 
> 2.39.5
> 
> 

-- 
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 |



More information about the barebox mailing list