[PATCH v2 0/7] Hexagon Geosystems GS05 Board Support

Marco Felsch m.felsch at pengutronix.de
Thu Feb 12 14:02:02 PST 2026


Hi,

this series adds the support for the Hexagon Geosystems GS05 product
[1]. The GS05 is part of a larger product family from SW pov, therefore
most logic is implemented below 'common/boards/hgs'.

The board support was added before the new security-profiles made it
into barebox mainline, therefore security-profiles aren't used yet but
maybe in the future.

Further products will be send mainline as well, once this basic support
got merged.

Regards,
  Marco

[1] https://leica-geosystems.com/de-de/products/gnss-systems/smart-antennas/leica-gs05
[2] https://lore.kernel.org/barebox/20260204151645.1426068-1-m.felsch@pengutronix.de/

Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
---
Changes in v2:
- Link to v1: https://lore.barebox.org/20260205-vmaster-customers-leicageo-system1600-v1-0-a80b234ce1a1@pengutronix.de
- Add serdev cleanup patches (Sascha)
- Add Ahmad's a-b
- s/device_d/device/ (Ahmad)
- s/driver_d/driver/ (Ahmad)
- EFI: Provide more information about the EFI acronym (Sascha)
- EFI: Make use of pr_fmt (Sascha)
- EFI: Add EFI CPU_RDY gpio handling (Ahmad)
- EFI: Drop useless error checks afer xfuncs (Ahmad)
- EFI: Simplify message encoding, make use sprintf (Sascha)
- EFI: Add buf[0] check to decode routine (Sascha)
- EFI: Make use of strchr instead of strstr (Ahmad)
- EFI: Fix typos (Sascha)
- EFI: Add proper probe() error cleanup (Sascha)
- EFI-WDG: make use of ping() hook (Ahmad)
- EFI-WDG: Provide initial wdd->running state (Ahmad)
- Add run_command() variadic support (Sascha)
- GS05: Fix DCO (add Johannes Schneider s-o-b) (Ahmad)
- GS05: Replace sentinel iter with ARRAY_SIZE() (Sascha)
- GS05: Add missing static statements (Sascha)
- GS05: Drop pp4_gpio handling, now handled by EFI driver (Ahmad)
- GS05-DTS: Drop odd gpio1 mux, now part of mcu node (Ahmad)
- GS05-DTS: Add no-sdio, no-sd to eMMC node (Ahmad)
- GS05-Kconfig: Drop "select HABV4" (Ahmad)
- HGS-LIB: Replace sentinel iter with ARRAY_SIZE() (Sascha)
- HGS-LIB: Make use of new run_command() variadic (Sascha)
- HGS-LIB: Bundle postenvironment_initcall() into one (Sascha)
- HGS-LIB: Rework hgs_notify_pp4() to pull CPU_RDY gpio
- HGS-LIB: Fix array out of bound access for hgs_revision_table (Sascha)
- HGS-LIB: Drop hgs_get_last_variant_entry in favor of ARRAY_SIZE() (Sascha)

---
Marco Felsch (7):
      serdev: add proper error cleanup to serdev_device_open()
      serdev: add serdev_device_close
      mfd: Add Hexagon EFI driver
      watchdog: Add Hexagon EFI watchdog driver
      commands: make run_command variadic
      treewide: make use of new run_command variadic
      ARM: i.MX8MM: add Hexagon Geosystems GS05

 arch/arm/boards/Makefile                          |    1 +
 arch/arm/boards/hgs-gs05/Makefile                 |    6 +
 arch/arm/boards/hgs-gs05/board.c                  |  240 +++++
 arch/arm/boards/hgs-gs05/flash-header-gs05.imxcfg |   12 +
 arch/arm/boards/hgs-gs05/lowlevel.c               |  128 +++
 arch/arm/boards/hgs-gs05/lpddr4-timing.c          | 1118 +++++++++++++++++++++
 arch/arm/dts/Makefile                             |    1 +
 arch/arm/dts/imx8m-hgs-common.dtsi                |   80 ++
 arch/arm/dts/imx8mm-hgs-gs05.dts                  |  320 ++++++
 arch/arm/mach-imx/Kconfig                         |    8 +
 common/boards/Kconfig                             |   10 +
 common/boards/Makefile                            |    1 +
 common/boards/hgs/Makefile                        |    7 +
 common/boards/hgs/common.c                        |  654 ++++++++++++
 common/boards/hgs/lib.c                           |   61 ++
 common/boards/hgs/pbl.c                           |  100 ++
 common/hush.c                                     |   23 +-
 common/parser.c                                   |   24 +-
 common/serdev.c                                   |   41 +-
 common/startup.c                                  |    5 +-
 drivers/mfd/Kconfig                               |    9 +
 drivers/mfd/Makefile                              |    1 +
 drivers/mfd/hgs-efi.c                             |  514 ++++++++++
 drivers/watchdog/Kconfig                          |    9 +
 drivers/watchdog/Makefile                         |    1 +
 drivers/watchdog/hgs_efi_wdt.c                    |  102 ++
 images/Makefile.imx                               |    2 +
 include/boards/hgs/common.h                       |   82 ++
 include/command.h                                 |    4 +-
 include/mfd/hgs-efi.h                             |   46 +
 include/serdev.h                                  |    4 +
 net/ifup.c                                        |   10 +-
 32 files changed, 3604 insertions(+), 20 deletions(-)
---
base-commit: 2ba60c77c1cb1351080d1a409a1115315dc092ba
change-id: 20260205-vmaster-customers-leicageo-system1600-f62320eed41f

Best regards,
-- 
Marco Felsch <m.felsch at pengutronix.de>




More information about the barebox mailing list