From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8346AC531DC for ; Fri, 23 Aug 2024 11:24:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=t5Ji7eCW6b1tZY7cPL4q0k0A4kh1qBMpIraDPlIg4DM=; b=YVsyGA8o04HsuKHkvbSE44d5Um fKatMF+psEhd9H7O3OlZvXQUAoFDSIE+9dFkwK7AHXuZU/bV0ClJhoYPUznVbsWPVlLH6IRMzJDpK GPabj9mt1+4EQYVDfLGuLEXOJMvsnBcTzeggSwbhPRKu+viWp1u+D07/8zKgvwtaxRqRUpSywBi7F vsPaPtyng4yq5pebyznX9r43BaIc8ZEBL5+afEuN7CI3s1aE74uGSyWwFAzQUy0sOrhDO4Wzaz6j0 JYFcBU7DPfgaqFF9pwwU6zUwwtwNGndKDk9BGp/q7vCf0wEDx3xcNE8zmYJxW4ovv05ZnfPG6InSU aJnGJ1GQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1shSOp-0000000GVIb-2p1U; Fri, 23 Aug 2024 11:24:11 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1shSNv-0000000GV50-2g8X for linux-arm-kernel@lists.infradead.org; Fri, 23 Aug 2024 11:23:18 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 213F0602E2; Fri, 23 Aug 2024 11:23:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 248AFC32786; Fri, 23 Aug 2024 11:23:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1724412194; bh=xQE216ocBHq+xIY/QMEPgFRg/QumScGZ2C4WlmFG3d4=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=G5C9pyqL7N7Dy3J08b9Qjhhoy/4zzUYpFnzvZwIuZdzUOBIarktytWsxmxQy5Lknd 2Ui+18KzXS7tPeBQmSuCN/P0+3u7Io5RA2mMPQ7C1IM8Q+qe5rGiHk9uYr2lJfPkWW 7EFYpaRtmXcSIwLvNC6M/tYhgSWaARfLf9+j34xKEH6kBKoA5mfVLidFtoVqFejw0A Y6DsjPFQtjFXm3JJuI3dPaCjcvi0uASCzdQBZjt83NTnn/OTm+7byudLbDzeZl0zwx kpjYTas/G+MJoNRoYlgkSd9bn1oHIlRgyzdIoXKCpBISzCTeAjMbVrUXCqRVo8UMZK QFzqK18QwsHLw== Message-ID: <2774e7e5-8c03-4f38-90c3-b414bc6af255@kernel.org> Date: Fri, 23 Aug 2024 14:23:07 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 2/2] arm64: dts: ti: Add k3-am67a-beagley-ai To: Robert Nelson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vignesh Raghavendra , Nishanth Menon , Andrew Davis , Jai Luthra , Siddharth Vadapalli , Jared McArthur , Jason Kridner , Deepak Khatri , Drew Fustini References: <20240822170440.265055-1-robertcnelson@gmail.com> <20240822170440.265055-2-robertcnelson@gmail.com> Content-Language: en-US From: Roger Quadros In-Reply-To: <20240822170440.265055-2-robertcnelson@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240823_042315_851010_3913AB38 X-CRM114-Status: GOOD ( 21.23 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, On 22/08/2024 20:04, Robert Nelson wrote: > BeagleBoard.org BeagleY-AI is an easy to use, affordable open source > hardware single board computer based on the Texas Instruments AM67A, > which features a quad-core 64-bit Arm CPU subsystem, 2 general-purpose > digital-signal-processors (DSP) and matrix-multiply-accelerators (MMA), > GPU, vision and deep learning accelerators, and multiple Arm Cortex-R5 > cores for low-power, low-latency GPIO control. > > https://beagley-ai.org/ > https://openbeagle.org/beagley-ai/beagley-ai > > Signed-off-by: Robert Nelson > CC: Rob Herring > CC: Krzysztof Kozlowski > CC: Conor Dooley > CC: Vignesh Raghavendra > CC: Nishanth Menon > CC: Andrew Davis > CC: Jai Luthra > CC: Roger Quadros > CC: Siddharth Vadapalli > CC: Jared McArthur > CC: Jason Kridner > CC: Deepak Khatri > CC: Drew Fustini > CC: linux-arm-kernel@lists.infradead.org > CC: devicetree@vger.kernel.org > CC: linux-kernel@vger.kernel.org > --- > Changes since v2: > - added led indictors > - sdhci1 use MMC1_SDCD.GPIO1_48 for card detect > - cleaned up order of status = "okay" > - wkup_i2c0 moved to 100000 > - eeprom added atmel,24c32 > - rtc added dallas,ds1340 > - sdhci1 use ti,fails-without-test-cd > Changes since v1: > - fixed incorrect vdd-3v3-sd-pins-default name > - updated hdmi VDD_1V2 regulator for production pcb > - switched device tree name from k3-j722s-beagley-ai to k3-am67a-beagley-ai > - removed cpsw_port2 node > - enable UHS support for MMCSD > --- > arch/arm64/boot/dts/ti/Makefile | 1 + > .../arm64/boot/dts/ti/k3-am67a-beagley-ai.dts | 406 ++++++++++++++++++ > 2 files changed, 407 insertions(+) > create mode 100644 arch/arm64/boot/dts/ti/k3-am67a-beagley-ai.dts > > diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > index e20b27ddf901..c89c9b8bab38 100644 > --- a/arch/arm64/boot/dts/ti/Makefile > +++ b/arch/arm64/boot/dts/ti/Makefile > @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm.dtb > dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-pcie1-ep.dtbo > > # Boards with J722s SoC > +dtb-$(CONFIG_ARCH_K3) += k3-am67a-beagley-ai.dtb > dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb > > # Boards with J784s4 SoC > diff --git a/arch/arm64/boot/dts/ti/k3-am67a-beagley-ai.dts b/arch/arm64/boot/dts/ti/k3-am67a-beagley-ai.dts > new file mode 100644 > index 000000000000..c8cbb875d4c7 > --- /dev/null > +++ b/arch/arm64/boot/dts/ti/k3-am67a-beagley-ai.dts > @@ -0,0 +1,406 @@ > +// SPDX-License-Identifier: GPL-2.0-only OR MIT > +/* > + > +&cpsw3g { > + pinctrl-names = "default"; > + pinctrl-0 = <&rgmii1_pins_default>, <&gbe_pmx_obsclk>; Why do you need OBSCLK for Ethernet MAC? The OBSCLK is connected to the Ethernet PHY via C406 which is not even populated. It seems that the PHY is clocked by a crystal oscillator X5 so doesn't really need OBSCLK in the stock configuration? > + > + assigned-clocks = <&k3_clks 227 0>; > + assigned-clock-parents = <&k3_clks 227 6>; > + status = "okay"; > +}; > + > +&cpsw3g_mdio { > + pinctrl-names = "default"; > + pinctrl-0 = <&mdio_pins_default>; > + status = "okay"; > + > + cpsw3g_phy0: ethernet-phy@0 { > + reg = <0>; > + ti,rx-internal-delay = ; > + ti,fifo-depth = ; > + ti,min-output-impedance; > + }; > +}; > + > +&cpsw_port1 { > + phy-mode = "rgmii-rxid"; > + phy-handle = <&cpsw3g_phy0>; > + status = "okay"; > +}; > + > +&main_gpio1 { > + status = "okay"; > +}; > + > +&main_uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&main_uart0_pins_default>; > + bootph-all; > + status = "okay"; > +}; > + > +&mcu_pmx0 { > + > + wkup_uart0_pins_default: wkup-uart0-default-pins { > + pinctrl-single,pins = < > + J722S_MCU_IOPAD(0x02c, PIN_INPUT, 0) /* (C7) WKUP_UART0_CTSn */ > + J722S_MCU_IOPAD(0x030, PIN_OUTPUT, 0) /* (C6) WKUP_UART0_RTSn */ > + J722S_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (D8) WKUP_UART0_RXD */ > + J722S_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (D7) WKUP_UART0_TXD */ > + >; > + bootph-all; > + }; > + > + wkup_i2c0_pins_default: wkup-i2c0-default-pins { > + pinctrl-single,pins = < > + J722S_MCU_IOPAD(0x04c, PIN_INPUT_PULLUP, 0) /* (C7) WKUP_I2C0_SCL */ > + J722S_MCU_IOPAD(0x050, PIN_INPUT_PULLUP, 0) /* (C6) WKUP_I2C1_SDA */ > + >; > + bootph-all; > + }; > + > + gbe_pmx_obsclk: gbe-pmx-obsclk-default-pins { > + pinctrl-single,pins = < > + J722S_MCU_IOPAD(0x0004, PIN_OUTPUT, 1) /* (A10) MCU_SPI0_CS1.MCU_OBSCLK0 */ > + >; > + }; > +}; > + > +&wkup_uart0 { > + /* WKUP UART0 is used by Device Manager firmware */ > + pinctrl-names = "default"; > + pinctrl-0 = <&wkup_uart0_pins_default>; > + bootph-all; > + status = "reserved"; > +}; > + > +&wkup_i2c0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&wkup_i2c0_pins_default>; > + clock-frequency = <100000>; > + bootph-all; > + status = "okay"; > + > + tps65219: pmic@30 { > + compatible = "ti,tps65219"; > + reg = <0x30>; > + buck1-supply = <&vsys_5v0>; > + buck2-supply = <&vsys_5v0>; > + buck3-supply = <&vsys_5v0>; > + ldo1-supply = <&vdd_3v3>; > + ldo3-supply = <&vdd_3v3>; > + ldo4-supply = <&vdd_3v3>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&pmic_irq_pins_default>; > + interrupt-parent = <&gic500>; > + interrupts = ; > + interrupt-controller; > + #interrupt-cells = <1>; > + > + system-power-controller; > + ti,power-button; > + bootph-all; > + > + regulators { > + buck1_reg: buck1 { > + regulator-name = "VDD_3V3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buck2_reg: buck2 { > + regulator-name = "VDD_1V8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo1_reg: ldo1 { > + regulator-name = "VDDSHV5_SDIO"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-allow-bypass; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo2_reg: ldo2 { > + regulator-name = "VDD_1V2"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo3_reg: ldo3 { > + regulator-name = "VDDA_PHY_1V8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo4_reg: ldo4 { > + regulator-name = "VDDA_PLL_1V8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + }; > + }; > + > + eeprom@50 { > + compatible = "atmel,24c32"; > + reg = <0x50>; > + }; > + > + rtc: rtc@68 { > + compatible = "dallas,ds1340"; > + reg = <0x68>; > + }; > +}; > + > +&sdhci1 { > + /* SD/MMC */ > + vmmc-supply = <&vdd_mmc1>; > + vqmmc-supply = <&vdd_sd_dv>; > + pinctrl-names = "default"; > + pinctrl-0 = <&main_mmc1_pins_default>; > + disable-wp; > + cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>; > + cd-debounce-delay-ms = <100>; > + ti,fails-without-test-cd; > + bootph-all; > + status = "okay"; > +}; -- cheers, -roger