Hi Alexander,
On Sun, Nov 09, 2025 at 06:03:37PM +0000, Alexander Kurz wrote: > Four Amazon Kindle 6th and 7th generation e-book readers were considered > for this patch, referred by their models > * DP75SDI "PINOT_WFO" (256MB) "Kindle Paperwhite 2" 6th gen > * DP75SDI "Muscat WFO" (512MB) "Kindle Paperwhite 3" 7th gen > * WP63GW "Kindle" 7th gen (512MB) > * NM460GZ "Voyage" 7th gen (512MB) > Kindle e-book readers from generation 6 and 7 use the i.MX6SL and an > are shipped with a factory-adapted u-boot image. Vendor software image > updates for these models stopped around 2021 to 2023. > > Add experimental support for the kindle gen 6/7 models and make barebox > an optional drop-in replacement for the original bootloader. > Required PMIC settings are implemented as script. > > Notable features tested on all models: > - Support for eMMC, USB, UART, I2C and SPI. > - LPDDR2 setup is done via DCD, the same imximage may be used > for USB-startup and for installation. > - Support for vendor specific ATAGs that are required by the Kindle-System. > - usbserial barebox console access for 10 seconds after startup. > > Known issues: > - Reset on models kindle6-dp75sdi and nm460gz does not work and triggers > microcode USB download boot. > - No recovery (without soldering) like USB boot known after e.g. a failed > flashing attempt. > > Signed-off-by: Alexander Kurz <[email protected]> > --- > .../boards/imx/amazon-kindle-6-7.rst | 94 ++++++++ > arch/arm/boards/Makefile | 1 + > arch/arm/boards/kindle-mx6sl/Makefile | 5 + > diff --git a/Documentation/boards/imx/amazon-kindle-6-7.rst > b/Documentation/boards/imx/amazon-kindle-6-7.rst Thanks for the good documentation, very appreciated :) > new file mode 100644 > index 0000000000..c7a5ef9424 > +ENTRY_FUNCTION(start_imx6sl_kindle6_dp75sdi, r0, r1, r2) > +{ > + void *fdt; > + > + imx6_cpu_lowlevel_init(); > + > + arm_setup_stack(0x00920000); > + > + if (IS_ENABLED(CONFIG_DEBUG_LL)) { > + writel(0x4, 0x020e016c); > + imx6_uart_setup_ll(); > + } > + > + fdt = __dtb_imx6sl_kindle6_dp75sdi_start + get_runtime_offset(); > + barebox_arm_entry(0x80000000, SZ_256M, fdt); Does imx6ul_barebox_entry() work here instead? In that case you could drop the memory nodes from the device trees. > +++ b/arch/arm/dts/imx6sl-kindle-nm460gz.dts > @@ -0,0 +1,69 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > +/* > + * Copyright (C) 2025 Alexander Kurz <[email protected]> > + */ > + > +/dts-v1/; > +#include "imx6sl-kindle-common.dtsi" > +#include <dt-bindings/interrupt-controller/irq.h> > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > + > +/ { > + model = "kindle-nm460gz"; > + compatible = "amazon,imx6sl-kindle-nm460gz", "fsl,imx6sl"; > + barebox,disable-deep-probe; Is this intentional? What doesn't work with deep probe enabled? 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 |
