[PATCH v2 0/1] Add Kindle generation 6/7 support
Alexander Kurz
akurz at blala.de
Sun Nov 16 22:46:00 PST 2025
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");
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
More information about the barebox
mailing list