From owner-freebsd-arm@freebsd.org Thu Oct 8 09:01:37 2020 Return-Path: Delivered-To: freebsd-arm@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6E51A3FB22C for ; Thu, 8 Oct 2020 09:01:37 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic304-23.consmr.mail.gq1.yahoo.com (sonic304-23.consmr.mail.gq1.yahoo.com [98.137.68.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C6QDZ5rxSz3XG8 for ; Thu, 8 Oct 2020 09:01:34 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: _NdKAAsVM1npyJsnBay8RtmuWy3xZo3dbW2heCDEBFMKw0ddeJAGAA8uV9YiZen zx8_GbNDcLAom7by0l3T9a0UZ25IBmgEgucL.YQSt.M6sWddeHEvUwtbgFKKBOzr4QH6cQc0yWGS CpulyWm1FnWQ2uOblLtwsg.DL_Pm.iJ1rx7l5gykQlmghjbHTSoQvmRzp0KvzLK_yQ0YTzzkRC30 LcCYXndHghM_XQhJv408RZBIGe0UpmKMpl5s2ypzeGRQQ3vBn6PkncSRaFLPL7RzTVs.rkcZEz7D tD1hE8w1BjW7Y.cMnU.vMni2nryIi5jgkDwaKD7FEJrA1vxmsI7wN0EIOWqbAHpusIU2avu1yM7E nCK3FVm1Z3LhM03ptPRZU_TAks8q.zIv2Ja52Bf_DW67Xoz8GmQsHNrDfxBeyUVnzOvMbBlhXx2O 81olhWbHgwdP3c1Q.rLRyDVPdeP90bcvS8BhKIUX9Wger5IO_cqPX03kpXFj7Vas_ETftGwKrcsg dgOywLPY2TicBvHK_YOH.7p1IG053rd9jkCPAdrHzjQLyu.d1grWjyiKasx.k_B1gVNgQ0bXKVvt KKFLbvEzRu8GS46sLfb1xCl9iI.vvlpI_ke4GHEyidlyRnaKRk8Sly2i8_GeOQE19X3ijTK0aV2C Fv9JMeLkt4gqLndUBwcZCCFnbYtM8MET5r34YqO3jDop0Qkq46sMPOs_XVEm2bOtWXMDe4B0SSNQ totJE5y.oGxy5TyDnTOQ6KlwOIMAXOmLAzLB7Hq7r7mxfqHFKJXNbYUhA6m5j9KVpSIAjkUdcDT7 7Mok1U9QdqWLFBrMiKSOqdQJKJQGV6Dn1POAz1zEcd_Dr0v3sMkIAlyqOMtWk_MhZz6B1BxUqBFb gvDfk.1KgSvbrgPpcP.6T0gd9GgVboN2PsJNua_f2GRRx2Ysl_NkqKuTi86cHUyDCle8I0WWILvu HoZZB5yP1zUw4y2BLxzVz6y_Xqp5ntSpakgCZk6AtG.U0TBOCegK3L3drjRSAUL1NZ29dOkywk95 4hEtfwidbKvEwi9bkkzgXOsT_xd2AEbhhqm3HbFIJTn4k22oUHiRw.hwO0nDiXP9xIWCEhFslW9j finbo5FPlqO1mkfE0qbdGoKVAHGkZ_wkWhybfH6rYSR9kZ4eoPeDYTqY6ZVEqm0nfKY2AwTo8BRk zJAO0OIxij6X036tA.qATmEzQH.jEsZ_cOm8iPAfKSOgyTkpsW.kOB4oIsGeKfmRrBgjzOpQoRCb 1ZvzghFW0CHWusmtfPeEyvl7zmFME9rDYIJi8KivojWAn.VEs8inJN45JDENi3J19prD.AqoKLLc HyGeLjBjDjMaEeV1UcmyvoO3_GmON3u8VtsEEopold07FOtOHSD8jkabLbC8g77GIURq6TeHq5mx dctcZ60jz3PcKchVhYBxiPMSwYkt1bMXLiLkUIW2PpxtkQTzr8d8WA23dkdpCUaLmiKSviMnbwr_ CQKGApTMpJ1T91TIYbM6cc2KrHByiaBHp2zLie3JfaoTs8Xxx8IMjffKd8Kqk1A-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.gq1.yahoo.com with HTTP; Thu, 8 Oct 2020 09:01:32 +0000 Received: by smtp406.mail.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID bb6102d3dcfe5689569546e125e11302; Thu, 08 Oct 2020 09:01:31 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Subject: RPi4B: emmc2bus dma-range handling does not track the boot-time-FDT (u-boot based booting) Message-Id: Date: Thu, 8 Oct 2020 02:01:29 -0700 To: freebsd-arm X-Mailer: Apple Mail (2.3608.120.23.2.1) References: X-Rspamd-Queue-Id: 4C6QDZ5rxSz3XG8 X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.93 / 15.00]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-0.42)[-0.420]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.002]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.01)[-1.012]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_ONE(0.00)[1]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.204:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.204:from]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[freebsd-arm] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Oct 2020 09:01:37 -0000 sys/gnu/dts/arm/bcm2711.dtsi reports: /* * emmc2 has different DMA constraints based on SoC revisions. = It was * moved into its own bus, so as for RPi4's firmware to update = them. * The firmware will find whether the emmc2bus alias is defined, = and if * so, it'll edit the dma-ranges property below accordingly. */ emmc2bus: emmc2bus { compatible =3D "simple-bus"; #address-cells =3D <2>; #size-cells =3D <1>; =20 ranges =3D <0x0 0x7e000000 0x0 0xfe000000 0x01800000>; dma-ranges =3D <0x0 0xc0000000 0x0 0x00000000 = 0x40000000>; =20 emmc2: emmc2@7e340000 { compatible =3D "brcm,bcm2711-emmc2"; reg =3D <0x0 0x7e340000 0x100>; interrupts =3D ; clocks =3D <&clocks BCM2711_CLOCK_EMMC2>; status =3D "disabled"; }; }; The old u-boot/DTB combination in use does not have emmc2bus. And, even if it did, FreeBSD would not use the dma-ranges content, expecting it to not vary within the RPi4B family. Relative to "lowaddr", for example, there is: #define BCM2838_PERIPH_MAXADDR 0x3fffffff (the emmc2bus dma-ranges' size_cell_value-1 for the text above). sys/arm/broadcom/bcm2835/bcm2835_sdhci.c does list brcm,bcm2711-emmc2 in its compat_data: static struct ofw_compat_data compat_data[] =3D { {"broadcom,bcm2835-sdhci", (uintptr_t)&bcm2835_sdhci_conf}, {"brcm,bcm2835-sdhci", (uintptr_t)&bcm2835_sdhci_conf}, {"brcm,bcm2835-mmc", (uintptr_t)&bcm2835_sdhci_conf}, {"brcm,bcm2711-emmc2", (uintptr_t)&bcm2838_emmc2_conf}, {"brcm,bcm2838-emmc2", (uintptr_t)&bcm2838_emmc2_conf}, {NULL, 0} }; where BCM2838_PERIPH_MAXADDR is picked out based on: (from sys/arm/broadcom/bcm2835/bcm2835_vcbus.c) static struct bcm283x_memory_soc_cfg { struct bcm283x_memory_mapping *memmap; const char *soc_compat; bus_addr_t busdma_lowaddr; } bcm283x_memory_configs[] =3D { . . . { .memmap =3D bcm2838_memmap, .soc_compat =3D "brcm,bcm2711", .busdma_lowaddr =3D BCM2838_PERIPH_MAXADDR, }, { .memmap =3D bcm2838_memmap, .soc_compat =3D "brcm,bcm2838", .busdma_lowaddr =3D BCM2838_PERIPH_MAXADDR, }, }; (I've not found tracking of SoC revisions. But I also do not know what varies across which SoC revisions. So far as I know, the few I have access to have a uniform structure.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)