[PATCH v3 0/7] Apple M1 Support

Simon Glass sjg at chromium.org
Mon Oct 11 21:10:03 CEST 2021


On Mon, 11 Oct 2021 at 10:40, Mark Kettenis <kettenis at openbsd.org> wrote:
>
> This series adds basic support for Apple's M1 SoC to U-Boot.
> This builds a basic U-Boot that can be used as a payload
> for the m1n1 boot loader being developed by the Asahi Linux
> project.
>
> The goal here is to privide an UEFI interface on these machines that
> allows booting various open source OSes.  This initial series provides
> support for the serial port, framebuffer and the USB 3.1 Type-C ports.
> It can boot a support OS (e.g. OpenBSD/arm64) from a USB disk.
>
> This version attempts to address most comments.  It doesn't add a
> proper WDT/sysreset driver yet since I prefer to do that once the
> device tree bindings for that have been ironed out.
>
>
> ChangeLog:
>
> v2: - Add IOMMU uclass and use it for the DART driver
>     - Cut back DART driver to only support bypass mode
>     - Rework the S5P serial support to use more DT stuff
>     - Update preliminary device trees
>
> v3: - Respin for CONFIG_SYS_LOAD_ADDR kconfig migration
>
> Mark Kettenis (7):
>   iommu: Add IOMMU uclass
>   test: Add tests for IOMMU uclass
>   arm: apple: Add initial support for Apple's M1 SoC
>   serial: s5p: Add Apple M1 support
>   iommu: Add Apple DART driver
>   arm: dts: apple: Add preliminary device trees
>   doc: board: apple: Add Apple M1 documentation
>
>  arch/arm/Kconfig                              |  23 +
>  arch/arm/Makefile                             |   1 +
>  arch/arm/dts/Makefile                         |   4 +
>  arch/arm/dts/t8103-j274.dts                   | 135 +++++
>  arch/arm/dts/t8103-j293.dts                   |  97 +++
>  arch/arm/dts/t8103.dtsi                       | 560 ++++++++++++++++++
>  arch/arm/include/asm/arch-m1/uart.h           |  41 ++
>  arch/arm/mach-apple/Kconfig                   |  18 +
>  arch/arm/mach-apple/Makefile                  |   4 +
>  arch/arm/mach-apple/board.c                   | 161 +++++
>  arch/arm/mach-apple/lowlevel_init.S           |  17 +
>  arch/sandbox/dts/test.dts                     |   6 +
>  configs/apple_m1_defconfig                    |  20 +
>  configs/sandbox64_defconfig                   |   1 +
>  configs/sandbox_defconfig                     |   1 +
>  configs/sandbox_flattree_defconfig            |   1 +
>  configs/sandbox_noinst_defconfig              |   1 +
>  configs/sandbox_spl_defconfig                 |   1 +
>  doc/board/apple/index.rst                     |   9 +
>  doc/board/apple/m1.rst                        |  56 ++
>  doc/board/index.rst                           |   1 +
>  drivers/Kconfig                               |   2 +
>  drivers/Makefile                              |   1 +
>  drivers/core/device.c                         |   8 +
>  drivers/iommu/Kconfig                         |  23 +
>  drivers/iommu/Makefile                        |   6 +
>  drivers/iommu/apple_dart.c                    |  59 ++
>  drivers/iommu/iommu-uclass.c                  |  45 ++
>  drivers/iommu/sandbox_iommu.c                 |  18 +
>  drivers/serial/Kconfig                        |   4 +-
>  drivers/serial/serial_s5p.c                   | 104 +++-
>  include/configs/apple.h                       |  36 ++
>  include/dm/uclass-id.h                        |   1 +
>  .../interrupt-controller/apple-aic.h          |  15 +
>  include/dt-bindings/pinctrl/apple.h           |  13 +
>  include/dt-bindings/spmi/spmi.h               |  10 +
>  include/iommu.h                               |  16 +
>  test/dm/Makefile                              |   1 +
>  test/dm/iommu.c                               |  28 +
>  39 files changed, 1524 insertions(+), 24 deletions(-)
>  create mode 100644 arch/arm/dts/t8103-j274.dts
>  create mode 100644 arch/arm/dts/t8103-j293.dts
>  create mode 100644 arch/arm/dts/t8103.dtsi
>  create mode 100644 arch/arm/include/asm/arch-m1/uart.h
>  create mode 100644 arch/arm/mach-apple/Kconfig
>  create mode 100644 arch/arm/mach-apple/Makefile
>  create mode 100644 arch/arm/mach-apple/board.c
>  create mode 100644 arch/arm/mach-apple/lowlevel_init.S
>  create mode 100644 configs/apple_m1_defconfig
>  create mode 100644 doc/board/apple/index.rst
>  create mode 100644 doc/board/apple/m1.rst
>  create mode 100644 drivers/iommu/Kconfig
>  create mode 100644 drivers/iommu/Makefile
>  create mode 100644 drivers/iommu/apple_dart.c
>  create mode 100644 drivers/iommu/iommu-uclass.c
>  create mode 100644 drivers/iommu/sandbox_iommu.c
>  create mode 100644 include/configs/apple.h
>  create mode 100644 include/dt-bindings/interrupt-controller/apple-aic.h
>  create mode 100644 include/dt-bindings/pinctrl/apple.h
>  create mode 100644 include/dt-bindings/spmi/spmi.h
>  create mode 100644 include/iommu.h
>  create mode 100644 test/dm/iommu.c
>
> --
> 2.33.0
>

The series:

Tested on MacBook Air 2020 A2337
Tested-by: Simon Glass <sjg at chromium.org>

Regards,
Simon


More information about the U-Boot mailing list