All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <cover.1790975598.git.DaveWK225@protonmail.com>

diff --git a/a/1.txt b/N1/1.txt
index e82bd45..61561ce 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,47 +1,25 @@
-Fixes for "pci: spacemit: add DesignWare PCIe host controller driver",
-following the Linux driver and the bring-up order that works on the
-boards I have:
+Two small SPL changes for K1 boards that do not look like the BPI-F3
+and MusePi Pro:
 
-- power the slot from the root port's vpcie3v3-supply (the vendor
-  k1x,pwr_on property is not in any upstream device tree);
-- keep the PHY interface in reset until LTSSM enable, and soft-reset
-  the controller before bring-up so a warm reset starts clean;
-- check clock, reset and iATU setup errors;
-- report link up from the SMLH/RDLH bits in the link window;
-- leave the link speed alone unless max-link-speed is set, instead of
-  writing Gen1 into LNKCAP and LNKCTL2, so the OS can still train the
-  link at its full speed;
-- drop ASPM L1 from LNKCAP as Linux does for NVMe drives;
-- set the link width from num-lanes;
-- keep the probe successful when the link is down (an empty slot), and
-  answer config cycles behind a down link with all ones.
+1. pmic_init() and nor_early_init() panic when the device tree gives
+   the SPL no PMIC or no SPI controller. A board that boots from eMMC or
+   microSD with its rails already up (the OrangePi R2S and RV2) stops
+   there. Log it and carry on.
+2. Provide board_boot_order(): the device the BootROM booted from, as
+   detected now, then the other MMC controller and SPI NOR, so an
+   unexpected BootROM path still finds U-Boot.
 
-Tested on an OrangePi RV2: an NVMe drive on port B is found and
-FreeBSD boots from it by EFI; FreeBSD then retrains the link to x2 at
-5 GT/s (with the Gen1 cap in place it could not). Port C, empty, reports
-"Link down" and nothing hangs. Under U-Boot this drive still trains x1
-at 2.5 GT/s.
+Tested on an OrangePi RV2 booting from microSD (no SPI controller in
+the SPL): "No SPI controller", then the SPL loads U-Boot from the card
+through the detected MMC2. The fallback order was not exercised, since
+the detection was right.
 
-Two observations about the RV2 device tree, not addressed here:
-pcie1_3_cfg and pcie2_4_cfg mux CLKREQ#, and with CLKREQ# muxed the
-controller gates its DBI clock whenever the endpoint leaves CLKREQ# high,
-so the next DBI access hangs; I run the board with PERST# only in those
-groups. And port B needs num-lanes = <2>, which the tree does not set.
+Dave Klotz (2):
+  spacemit: k1: do not require a PMIC or an SPI controller in SPL
+  spacemit: k1: fall back to the other boot devices in SPL
 
-Dave Klotz (9):
-  pci: spacemit: power the slot from vpcie3v3-supply
-  pci: spacemit: hold the PHY interface in reset until link start
-  pci: spacemit: soft reset the controller before bring-up
-  pci: spacemit: check clock, reset and iATU setup results
-  pci: spacemit: report link up from the link status register
-  pci: spacemit: do not force the link to 2.5 GT/s
-  pci: spacemit: do not advertise ASPM L1
-  pci: spacemit: set the link width from num-lanes
-  pci: spacemit: do not fail the probe when the link is down
-
- drivers/pci/pcie_dw_spacemit.c | 231 +++++++++++++++++++++++----------
- drivers/pci/pcie_dw_spacemit.h |  12 --
- 2 files changed, 162 insertions(+), 81 deletions(-)
+ board/spacemit/k1/spl.c | 48 +++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 44 insertions(+), 4 deletions(-)
 
 
 base-commit: a000f2af240eaa996cec92f8d44bad96fdf3f898
diff --git a/a/content_digest b/N1/content_digest
index 21bc244..0c021ae 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,63 +1,42 @@
  "From\0Dave Klotz <DaveWK225@protonmail.com>\0"
- "Subject\0[PATCH 0/9] pci: spacemit: fixes for the K1 PCIe host driver\0"
- "Date\0Fri, 02 Oct 2026 21:30:32 +0000\0"
+ "Subject\0[PATCH 0/2] spacemit: k1: SPL robustness for boards without a PMIC or SPI NOR\0"
+ "Date\0Fri, 02 Oct 2026 21:31:33 +0000\0"
  "To\0u-boot@lists.u-boot-project.org\0"
  "Cc\0Huan Zhou <pericycle.cc@gmail.com>"
   Eric Chung <eric.chung@riscstar.com>
-  Neil Armstrong <neil.armstrong@linaro.org>
   Yixun Lan <dlan@kernel.org>
   Tom Rini <trini@konsulko.com>
+  Guodong Xu <guodong@riscstar.com>
+  Raymond Mao <raymond.mao@riscstar.com>
  " u-boot-spacemit@groups.io\0"
  "\00:1\0"
  "b\0"
- "Fixes for \"pci: spacemit: add DesignWare PCIe host controller driver\",\n"
- "following the Linux driver and the bring-up order that works on the\n"
- "boards I have:\n"
+ "Two small SPL changes for K1 boards that do not look like the BPI-F3\n"
+ "and MusePi Pro:\n"
  "\n"
- "- power the slot from the root port's vpcie3v3-supply (the vendor\n"
- "  k1x,pwr_on property is not in any upstream device tree);\n"
- "- keep the PHY interface in reset until LTSSM enable, and soft-reset\n"
- "  the controller before bring-up so a warm reset starts clean;\n"
- "- check clock, reset and iATU setup errors;\n"
- "- report link up from the SMLH/RDLH bits in the link window;\n"
- "- leave the link speed alone unless max-link-speed is set, instead of\n"
- "  writing Gen1 into LNKCAP and LNKCTL2, so the OS can still train the\n"
- "  link at its full speed;\n"
- "- drop ASPM L1 from LNKCAP as Linux does for NVMe drives;\n"
- "- set the link width from num-lanes;\n"
- "- keep the probe successful when the link is down (an empty slot), and\n"
- "  answer config cycles behind a down link with all ones.\n"
+ "1. pmic_init() and nor_early_init() panic when the device tree gives\n"
+ "   the SPL no PMIC or no SPI controller. A board that boots from eMMC or\n"
+ "   microSD with its rails already up (the OrangePi R2S and RV2) stops\n"
+ "   there. Log it and carry on.\n"
+ "2. Provide board_boot_order(): the device the BootROM booted from, as\n"
+ "   detected now, then the other MMC controller and SPI NOR, so an\n"
+ "   unexpected BootROM path still finds U-Boot.\n"
  "\n"
- "Tested on an OrangePi RV2: an NVMe drive on port B is found and\n"
- "FreeBSD boots from it by EFI; FreeBSD then retrains the link to x2 at\n"
- "5 GT/s (with the Gen1 cap in place it could not). Port C, empty, reports\n"
- "\"Link down\" and nothing hangs. Under U-Boot this drive still trains x1\n"
- "at 2.5 GT/s.\n"
+ "Tested on an OrangePi RV2 booting from microSD (no SPI controller in\n"
+ "the SPL): \"No SPI controller\", then the SPL loads U-Boot from the card\n"
+ "through the detected MMC2. The fallback order was not exercised, since\n"
+ "the detection was right.\n"
  "\n"
- "Two observations about the RV2 device tree, not addressed here:\n"
- "pcie1_3_cfg and pcie2_4_cfg mux CLKREQ#, and with CLKREQ# muxed the\n"
- "controller gates its DBI clock whenever the endpoint leaves CLKREQ# high,\n"
- "so the next DBI access hangs; I run the board with PERST# only in those\n"
- "groups. And port B needs num-lanes = <2>, which the tree does not set.\n"
+ "Dave Klotz (2):\n"
+ "  spacemit: k1: do not require a PMIC or an SPI controller in SPL\n"
+ "  spacemit: k1: fall back to the other boot devices in SPL\n"
  "\n"
- "Dave Klotz (9):\n"
- "  pci: spacemit: power the slot from vpcie3v3-supply\n"
- "  pci: spacemit: hold the PHY interface in reset until link start\n"
- "  pci: spacemit: soft reset the controller before bring-up\n"
- "  pci: spacemit: check clock, reset and iATU setup results\n"
- "  pci: spacemit: report link up from the link status register\n"
- "  pci: spacemit: do not force the link to 2.5 GT/s\n"
- "  pci: spacemit: do not advertise ASPM L1\n"
- "  pci: spacemit: set the link width from num-lanes\n"
- "  pci: spacemit: do not fail the probe when the link is down\n"
- "\n"
- " drivers/pci/pcie_dw_spacemit.c | 231 +++++++++++++++++++++++----------\n"
- " drivers/pci/pcie_dw_spacemit.h |  12 --\n"
- " 2 files changed, 162 insertions(+), 81 deletions(-)\n"
+ " board/spacemit/k1/spl.c | 48 +++++++++++++++++++++++++++++++++++++----\n"
+ " 1 file changed, 44 insertions(+), 4 deletions(-)\n"
  "\n"
  "\n"
  "base-commit: a000f2af240eaa996cec92f8d44bad96fdf3f898\n"
  "-- \n"
  2.55.0
 
-68ec0d88067a00ae01d9510febacc84ef79e2b3e2b04c5e979a02cf18cb62696
+1933c0256cbea9d9c269c7fee306c3dee3d701677c660012064794eeea1c6ecc

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.