{"id":2231884,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2231884/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20260501-apple-m3-support-v1-1-4165bc2a73f4@jannau.net/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.1/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260501-apple-m3-support-v1-1-4165bc2a73f4@jannau.net>","date":"2026-05-01T14:07:16","name":"arm: apple: Add Apple M3 (t8122) support","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"c52c3e9fa9c99c0bf4f856f21bd48f5b2cf14b51","submitter":{"id":46572,"url":"http://patchwork.ozlabs.org/api/1.1/people/46572/?format=json","name":"Janne Grunau","email":"j@jannau.net"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20260501-apple-m3-support-v1-1-4165bc2a73f4@jannau.net/mbox/","series":[{"id":502463,"url":"http://patchwork.ozlabs.org/api/1.1/series/502463/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=502463","date":"2026-05-01T14:07:16","name":"arm: apple: Add Apple M3 (t8122) support","version":1,"mbox":"http://patchwork.ozlabs.org/series/502463/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2231884/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2231884/checks/","tags":{},"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=jannau.net header.i=@jannau.net header.a=rsa-sha256\n header.s=fm1 header.b=eXdVA/J7;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=messagingengine.com header.i=@messagingengine.com\n header.a=rsa-sha256 header.s=fm3 header.b=XwuZTNcN;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=jannau.net","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=jannau.net header.i=@jannau.net header.b=\"eXdVA/J7\";\n\tdkim=pass (2048-bit key;\n unprotected) header.d=messagingengine.com header.i=@messagingengine.com\n header.b=\"XwuZTNcN\";\n\tdkim-atps=neutral","phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=jannau.net","phobos.denx.de; spf=pass smtp.mailfrom=j@jannau.net"],"Received":["from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g6XtC2c4Cz1y04\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 02 May 2026 00:07:31 +1000 (AEST)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id E8C5280F0E;\n\tFri,  1 May 2026 16:07:26 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id CD38E83A91; Fri,  1 May 2026 16:07:25 +0200 (CEST)","from fhigh-a7-smtp.messagingengine.com\n (fhigh-a7-smtp.messagingengine.com [103.168.172.158])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 0DE0080086\n for <u-boot@lists.denx.de>; Fri,  1 May 2026 16:07:23 +0200 (CEST)","from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])\n by mailfhigh.phl.internal (Postfix) with ESMTP id ED67C140005F;\n Fri,  1 May 2026 10:07:21 -0400 (EDT)","from phl-frontend-03 ([10.202.2.162])\n by phl-compute-05.internal (MEProxy); Fri, 01 May 2026 10:07:21 -0400","by mail.messagingengine.com (Postfix) with ESMTPA; Fri,\n 1 May 2026 10:07:21 -0400 (EDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=jannau.net; h=cc\n :cc:content-transfer-encoding:content-type:content-type:date\n :date:from:from:in-reply-to:message-id:mime-version:reply-to\n :subject:subject:to:to; s=fm1; t=1777644441; x=1777730841; bh=gi\n jzOehdlwSt/0jQumJRZuDxd3FidnaDWBDguREWsy0=; b=eXdVA/J7QqKd25A218\n DTwCkO5Wwi6O/iVOyeqRrT5AhC+0YTCkCvAVEzZuP4GckEXM/uYkR9LwXmx7GhS+\n oa1hmy6b9vl46CRw4LaojcLo5fi/rTddNrZplgaWuK/mVZCIyA8ii55lViPgVhvs\n mcUuRIqufkhN5TMns2V5PljixXYMa73WvXNxIq/nDIh3bKiH6p8voQL8vSPB8Eyq\n DyziJb85k+en4jMpnGiFlILt1BGXCrL9wnfMdY1Jzh8QuJQrJfL8jCIEMOjgG2r4\n 1tyKx4BR4juQGDSwop4p1+XEmoLHhMx0Cy/+S2rkSY+DhE8Pty94NGL5OxlnjFxW\n uUiA==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:cc:content-transfer-encoding\n :content-type:content-type:date:date:feedback-id:feedback-id\n :from:from:in-reply-to:message-id:mime-version:reply-to:subject\n :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=\n fm3; t=1777644441; x=1777730841; bh=gijzOehdlwSt/0jQumJRZuDxd3Fi\n dnaDWBDguREWsy0=; b=XwuZTNcN4cfhQ0JdOIAjBTW0lVEpaqR2tmlqSzG+2FHF\n 20OLm9/mR4xE+M+ZDCPsGEjoo4/MTFYCcrRnFj6j2TdCc69WUT1YqYEbFjgiQS34\n bJMotUL/CsDc7oMED/LUQ9IiYxzljzprXPqMVOOyx4ELGiN9oUHn6qdJy8Tx5GPC\n niRDN56XRRoJwFIjOWnM1pTHLKhOx4BxvdBpxLXtdj5w6BgYgsOo6JwyONstzr1K\n oqxGudxyYjYPynKHnzoYaFqNlKy6g0pqgBW8tR5NzPiuK47sPgvOqbstcciX4qtz\n qQ+IQcfKzHsBivtDExw5XJlXrGiKOVI289Ek7yzPww=="],"X-ME-Sender":"<xms:mbP0aTrZzlK5L1GaUSaJTlqLaqClTR9oghutFCdMEe3OYBsY0cDtuw>\n <xme:mbP0acuUHTUOygLOJKNmSDNcjNgdOpXATHmuUuc0VTj4dMUBowC_scFGVt_1tuC8R\n 8jDb7C232x7lI4hWCui5sU2VMllLPvUMlT48iHUjRD_L8M6SNMpQ0dU>","X-ME-Received":"\n <xmr:mbP0aWZ69_nS_Ifg-Y5lSTXCznZkWscvtmCOz6DIe4eKSTtLSDyuMwzqP76DZiMQhs0kpsZMIA0ep8UlfyQdbg5ydywFEr0ZKjhd9A>","X-ME-Proxy-Cause":"\n gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdeltdegtdcutefuodetggdotefrod\n ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr\n ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug\n hrpefhfffugggtgffkvfevofesthejredtredtjeenucfhrhhomheplfgrnhhnvgcuifhr\n uhhnrghuuceojhesjhgrnhhnrghurdhnvghtqeenucggtffrrghtthgvrhhnpefgffeiff\n etueffteeugfeghffghedthfekgfdtjeeuuedvveekteevvedvffekheenucevlhhushht\n vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehjsehjrghnnhgruhdrnh\n gvthdpnhgspghrtghpthhtohepkedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohep\n mhhkohhrphgvrhhshhhovghksehkvghrnhgvlhdrohhrghdprhgtphhtthhopehsuhhghh\n hoshhhrdhgrghnuhesrghrmhdrtghomhdprhgtphhtthhopehkvghtthgvnhhishesohhp\n vghnsghsugdrohhrghdprhgtphhtthhopehjsehjrghnnhgruhdrnhgvthdprhgtphhtth\n hopehjvghrohhmvgdrfhhorhhishhsihgvrhesrghrmhdrtghomhdprhgtphhtthhopehi\n lhhirghsrdgrphgrlhhoughimhgrsheslhhinhgrrhhordhorhhgpdhrtghpthhtohepuh\n dqsghoohhtsehlihhsthhsrdguvghngidruggvpdhrtghpthhtohepthhrihhniheskhho\n nhhsuhhlkhhordgtohhm","X-ME-Proxy":"<xmx:mbP0aTbfR4UnMUwY2Tny_TDWjzAWhPAUrKHUz9VFHYj3djEZg8aZzQ>\n <xmx:mbP0aXkcKxTbmxxA99HjxRXvUuzc9n9FAZDjbFdVc_hyz2RG-VYILA>\n <xmx:mbP0aW3TM2B-TN5Cx-tzld4ErhS9zWweRZBH0I7tLxCmLH9gyUIXmg>\n <xmx:mbP0af1DRHewsGG6hDH5zRCnD93Y_GIWScO54deWz8tVuWbB79WGfA>\n <xmx:mbP0aY1RP6A1lCptpGl8_eRytlZ0kMtA93a7qlvXIj33_TSkITAY6L31>","Feedback-ID":"i47b949f6:Fastmail","From":"Janne Grunau <j@jannau.net>","Date":"Fri, 01 May 2026 16:07:16 +0200","Subject":"[PATCH] arm: apple: Add Apple M3 (t8122) support","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260501-apple-m3-support-v1-1-4165bc2a73f4@jannau.net>","X-B4-Tracking":"v=1; b=H4sIAAAAAAAC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE\n vPSU3UzU4B8JSMDIzMDUwND3cSCgpxU3Vxj3eLSgoL8ohJdy7RkI9PEJHNL4xQTJaC2gqLUtMw\n KsJHRsbW1AL+x3NViAAAA","X-Change-ID":"20260501-apple-m3-support-9fc25ab793d4","To":"u-boot@lists.denx.de","Cc":"Mark Kettenis <kettenis@openbsd.org>, Tom Rini <trini@konsulko.com>,\n Sughosh Ganu <sughosh.ganu@arm.com>,\n Ilias Apalodimas <ilias.apalodimas@linaro.org>,\n Mattijs Korpershoek <mkorpershoek@kernel.org>,\n Jerome Forissier <jerome.forissier@arm.com>, Janne Grunau <j@jannau.net>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=openpgp-sha256; l=3211; i=j@jannau.net;\n s=yk2025; h=from:subject:message-id;\n bh=N32YiN/BHOD11xeiOHlKPC4MopXE6X30UvrSFmY+ObQ=;\n b=owGbwMvMwCW2UNrmdq9+ahrjabUkhswvm6dvEv8S94SLN7HO423B58PCYmWG85seiP0xVb656\n Hd164cjHaUsDGJcDLJiiixJ2i87GFbXKMbUPgiDmcPKBDKEgYtTACay6h/D/3rP6VmLf2/NW5r+\n rGOtRqp8XziL3sZthn/s8j+pfV9u8JXhn/0Lw7Parisip7kuumWzp1T2KmfewYRriTWLQ4yXZb9\n 9xwkA","X-Developer-Key":"i=j@jannau.net; a=openpgp;\n fpr=8B336A6BE4E5695E89B8532B81E806F586338419","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"Apple's M3 SoC is similar to M1 and M2 but uses a different memory map.\nThe main difference is that RAM starts at 0x100_0000_0000 like on t600x\nand t602x (M1 and M2 Pro/Max/Ultra). Otherwise IO blocks have been\nrearranged.\nU-boot's existing drivers are compatible with the hardware and M3 device\ntrees will carry \"apple,t8103-*\" compatible strings. Only\napple-atcphy-reset might need a new compatible due to USB4 / DisplayPort\nchanges the Linux driver has to deal with.\n\nSigned-off-by: Janne Grunau <j@jannau.net>\n---\n arch/arm/mach-apple/board.c | 71 +++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 71 insertions(+)\n\n\n---\nbase-commit: 4433253ecf2041f9362a763bb6cb79960921ac7e\nchange-id: 20260501-apple-m3-support-9fc25ab793d4\n\nBest regards,","diff":"diff --git a/arch/arm/mach-apple/board.c b/arch/arm/mach-apple/board.c\nindex 4cd8979bdc2..914b4581e7d 100644\n--- a/arch/arm/mach-apple/board.c\n+++ b/arch/arm/mach-apple/board.c\n@@ -85,6 +85,75 @@ static struct mm_region t8103_mem_map[] = {\n \t}\n };\n \n+/* Apple M3 */\n+\n+static struct mm_region t8122_mem_map[] = {\n+\t{\n+\t\t/* I/O */\n+\t\t.virt = 0x210000000,\n+\t\t.phys = 0x210000000,\n+\t\t.size = 4UL * SZ_1G,\n+\t\t.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |\n+\t\t\t PTE_BLOCK_NON_SHARE |\n+\t\t\t PTE_BLOCK_PXN | PTE_BLOCK_UXN\n+\t}, {\n+\t\t/* I/O */\n+\t\t.virt = 0x700000000,\n+\t\t.phys = 0x700000000,\n+\t\t.size = SZ_1G,\n+\t\t.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |\n+\t\t\t PTE_BLOCK_NON_SHARE |\n+\t\t\t PTE_BLOCK_PXN | PTE_BLOCK_UXN\n+\t}, {\n+\t\t/* I/O */\n+\t\t.virt = 0xb00000000,\n+\t\t.phys = 0xb00000000,\n+\t\t.size = SZ_1G,\n+\t\t.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |\n+\t\t\t PTE_BLOCK_NON_SHARE |\n+\t\t\t PTE_BLOCK_PXN | PTE_BLOCK_UXN\n+\t}, {\n+\t\t/* I/O */\n+\t\t.virt = 0x580000000,\n+\t\t.phys = 0x580000000,\n+\t\t.size = SZ_512M,\n+\t\t.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |\n+\t\t\t PTE_BLOCK_NON_SHARE |\n+\t\t\t PTE_BLOCK_PXN | PTE_BLOCK_UXN\n+\t}, {\n+\t\t/* PCIE */\n+\t\t.virt = 0x5a0000000,\n+\t\t.phys = 0x5a0000000,\n+\t\t.size = SZ_512M,\n+\t\t.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRE) |\n+\t\t\t PTE_BLOCK_INNER_SHARE |\n+\t\t\t PTE_BLOCK_PXN | PTE_BLOCK_UXN\n+\t}, {\n+\t\t/* PCIE */\n+\t\t.virt = 0x5c0000000,\n+\t\t.phys = 0x5c0000000,\n+\t\t.size = SZ_1G,\n+\t\t.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRE) |\n+\t\t\t PTE_BLOCK_INNER_SHARE |\n+\t\t\t PTE_BLOCK_PXN | PTE_BLOCK_UXN\n+\t}, {\n+\t\t/* RAM */\n+\t\t.virt = 0x10000000000,\n+\t\t.phys = 0x10000000000,\n+\t\t.size = 8UL * SZ_1G,\n+\t\t.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |\n+\t\t\t PTE_BLOCK_INNER_SHARE\n+\t}, {\n+\t\t/* Framebuffer */\n+\t\t.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL_NC) |\n+\t\t\t PTE_BLOCK_INNER_SHARE |\n+\t\t\t PTE_BLOCK_PXN | PTE_BLOCK_UXN\n+\t}, {\n+\t\t/* List terminator */\n+\t\t0,\n+\t}\n+};\n+\n /* Apple M1 Pro/Max */\n \n static struct mm_region t6000_mem_map[] = {\n@@ -710,6 +779,8 @@ void build_mem_map(void)\n \tif (of_machine_is_compatible(\"apple,t8103\") ||\n \t    of_machine_is_compatible(\"apple,t8112\"))\n \t\tmem_map = t8103_mem_map;\n+\telse if (of_machine_is_compatible(\"apple,t8122\"))\n+\t\tmem_map = t8122_mem_map;\n \telse if (of_machine_is_compatible(\"apple,t6000\") ||\n \t\t of_machine_is_compatible(\"apple,t6001\"))\n \t\tmem_map = t6000_mem_map;\n","prefixes":[]}