From nobody Fri Nov 29 16:50:00 2024 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 42C061C9DD2; Wed, 18 Sep 2024 16:50:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726678237; cv=none; b=Frq9TCjmAvM8a5Yvtc8+FwtabfYKbLJ19VdjwT+0EbUxH8lZomuC2xTgZJxGehzpyb2RGZZvM3OVCgh/4HdsNVn3pWcvatvrxJuNgwMvkCjOiEqC2mtFm9eykv+TlhLYE1zsxjE5/q6xxtvaxoFEbLqyOw4EUbSX2SGozFzidkg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726678237; c=relaxed/simple; bh=L194GVPqlhEKTAjInwLGnwQ9t2gUkt6Las6bQjzBuic=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=GZ6zdRo+NzOPjs+YuUohOOccXiMBR7GgrUiwpfKObjKgBfUt1nSsDvQdc7qkn7oBS+gLY/XiDOb9Q7w8iLXnybWVsukflatNELTeiQ20uzGJ+EgYPs1ZcRu3fdHl79thKVvc7HPTSQdd36RhEtdOF60z0uJy2xkfskyf0xBTY68= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BGwPHm1x; arc=none smtp.client-ip=209.85.215.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BGwPHm1x" Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-7db1f10201eso439528a12.1; Wed, 18 Sep 2024 09:50:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726678234; x=1727283034; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EubABu1X3rzMfuanqy73fHp4ADsy8qEmKdS8meBggks=; b=BGwPHm1xgthfasFl4IIxJJzyswe0/7ac/z/zd1FZhqpsmj5Xay5s+fHoiyWMbf9O5+ tAMuCTQNOXz6bj/6hVCT/wp/AQWlQA2jJOj2Hfe6igAvNUQn4yUiB2cYhMlKp+2z0tZj oY0oK2ZBEZfGnSpY7H4fcBNL1wFiH56bZ4OPf/GjToCm+l6I98kN4nhsyOgpcW/p1krV dHdxcjqEgKPXEvMvYr6HTXP1tM0gEs58CkAtSsRSUZq1P5hLPV0HJKOiokjxncydWPPO GKFsd5OZFfXG5Y7wmg3uvECIlTI2aPkbob2xYPAPh3jL2VJqj/s+nebfUUk0DjtWWLR3 Whsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726678234; x=1727283034; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EubABu1X3rzMfuanqy73fHp4ADsy8qEmKdS8meBggks=; b=BS/YFjpr+gjSaxcjQ/P11llC+tFs+Z9ZVY/IxUAn30auOMlF8l9fSrdM45Bp5eHI1O u0tesBVRUIQXSL9nNKBB3q+xcdh5b7cJEZCFCvHT9sWQbc936w3A/91/jJsaskxONYiL ZOc7hpPgALkxp343oyNQnaxipjiwmB0OfGp3x/2bUgux2Xf71UNdZvfU08uQUnpjsa3g pc0+h0GB/dnpqezGCPoiI/fKeoZZcQVJ44IFucZF3+7D1z9lhNbiynMG3u+Wxqk2BLBC I3pPbSwfAu3LnB1bgM4Qxto+brImJMkDCl7BMUDeurtSWuv28AknvAYYdNFyxojE9BO8 TGhw== X-Forwarded-Encrypted: i=1; AJvYcCVLrhqKguFq+/gDUl9xyLx7Gtu+aQl9EPvtw4SpTkHZBer8/AuK0Hjs9A3OeiKLiwRSl5hAFOKWJ3bzG5xk@vger.kernel.org, AJvYcCVsknNoCtPXaaFFvGkOUQv43xGTKDrbHVTXNjADqC0lvhLHzaPzTKA4umZ4JWId+e+O5huGWGfbhSng@vger.kernel.org X-Gm-Message-State: AOJu0Yzu/Os2TBL4mblhHANo998ZupHiAQMLfwSDc56S4YZTeURlxDQm zLh0kvVWIFcEjmMm/Y3VOwwPfDWxo63eiYYf8W3ZGr6VGRlfncOP X-Google-Smtp-Source: AGHT+IGf3qk6BvuAkf7lyhjZAVe7Zja3ghzTyt5TdJrA2Otxz+jmX2lxn/y2GOew5453pakceSDaeg== X-Received: by 2002:a05:6a20:728f:b0:1cf:37d4:c4f6 with SMTP id adf61e73a8af0-1cf75ec64dcmr18077613637.4.1726678234516; Wed, 18 Sep 2024 09:50:34 -0700 (PDT) Received: from localhost.localdomain ([221.220.134.146]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7db498f9eb2sm6696123a12.23.2024.09.18.09.50.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Sep 2024 09:50:34 -0700 (PDT) From: Jianfeng Liu To: linux-rockchip@lists.infradead.org Cc: Stephen Rothwell , Rob Herring , linux-kernel@vger.kernel.org, Heiko Stuebner , Conor Dooley , devicetree@vger.kernel.org, Jianfeng Liu , linux-arm-kernel@lists.infradead.org, Krzysztof Kozlowski Subject: [PATCH 3/3] arm64: dts: rockchip: Add ArmSoM W3 board Date: Thu, 19 Sep 2024 00:50:08 +0800 Message-Id: <20240918165008.169917-4-liujianfeng1994@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240918165008.169917-1-liujianfeng1994@gmail.com> References: <20240918165008.169917-1-liujianfeng1994@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" W3 is the carrier board for LM7 System on Module. W3 features: - 1x 2.5GbE Realtek RTL8125 Ethernet - 2x HDMI Type A out - 1x HDMI Type A in - 1x USB 3.1 Type C - 2x USB 2.0 Type A - 2x USB 3.0 Type A - 1x PCIE 2.0 M.2 E Key (1 lane) - 1x PCIE 3.0 PCIe (4 lanes) - 1x TF scard slot - 1x MIPI CSI - 1x MIPI DSI - 1x ES8316 audio jack - 1x FAN connector - 1x RTC - 40-pin expansion header Add support for ArmSoM LM7 board. Signed-off-by: Jianfeng Liu --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../boot/dts/rockchip/rk3588-armsom-w3.dts | 408 ++++++++++++++++++ 2 files changed, 409 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-armsom-w3.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/ro= ckchip/Makefile index 09423070c99..b0ed12f41f0 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -125,6 +125,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3568-wolfvision-pf5.= dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3568-wolfvision-pf5-display-vz.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3568-wolfvision-pf5-io-expander.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-armsom-sige7.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-armsom-w3.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-coolpi-cm5-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-coolpi-cm5-genbook.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3588-edgeble-neu6a-io.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3588-armsom-w3.dts b/arch/arm64= /boot/dts/rockchip/rk3588-armsom-w3.dts new file mode 100644 index 00000000000..321a44f081c --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588-armsom-w3.dts @@ -0,0 +1,408 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/dts-v1/; + +#include +#include +#include "rk3588-armsom-lm7.dtsi" + +/ { + model =3D "ArmSoM W3"; + compatible =3D "armsom,w3", "armsom,lm7", "rockchip,rk3588"; + + aliases { + mmc1 =3D &sdmmc; + mmc2 =3D &sdio; + }; + + analog-sound { + compatible =3D "audio-graph-card"; + label =3D "rk3588-es8316"; + + widgets =3D "Microphone", "Mic Jack", + "Headphone", "Headphones"; + + routing =3D "MIC2", "Mic Jack", + "Headphones", "HPOL", + "Headphones", "HPOR"; + + dais =3D <&i2s0_8ch_p0>; + hp-det-gpio =3D <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&hp_detect>; + }; + + leds { + compatible =3D "gpio-leds"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&led_rgb_b>; + + led_rgb_b { + function =3D LED_FUNCTION_STATUS; + color =3D ; + gpios =3D <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "heartbeat"; + }; + + led_rgb_r { + function =3D LED_FUNCTION_STATUS; + color =3D ; + gpios =3D <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "none"; + }; + }; + + fan: pwm-fan { + compatible =3D "pwm-fan"; + cooling-levels =3D <0 120 150 180 210 240 255>; + fan-supply =3D <&vcc5v0_sys>; + pwms =3D <&pwm1 0 50000 0>; + #cooling-cells =3D <2>; + }; + + rfkill { + compatible =3D "rfkill-gpio"; + label =3D "rfkill-pcie-wlan"; + radio-type =3D "wlan"; + shutdown-gpios =3D <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; + }; + + rfkill-bt { + compatible =3D "rfkill-gpio"; + label =3D "rfkill-m2-bt"; + radio-type =3D "bluetooth"; + shutdown-gpios =3D <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; + }; + + vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0-regulator { + compatible =3D "regulator-fixed"; + enable-active-high; + gpios =3D <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pcie2_0_vcc3v3_en>; + regulator-name =3D "vcc3v3_pcie2x1l0"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + startup-delay-us =3D <50000>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc3v3_pcie2x1l2: vcc3v3-pcie2x1l2-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc3v3_pcie2x1l2"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + startup-delay-us =3D <5000>; + vin-supply =3D <&vcc_3v3_s3>; + }; + + vcc3v3_pcie30: vcc3v3-pcie30-regulator { + compatible =3D "regulator-fixed"; + enable-active-high; + gpios =3D <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pcie3_vcc3v3_en>; + regulator-name =3D "vcc3v3_pcie30"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + startup-delay-us =3D <5000>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc5v0_host: vcc5v0-host-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc5v0_host"; + regulator-boot-on; + regulator-always-on; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + enable-active-high; + gpio =3D <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&vcc5v0_host_en>; + vin-supply =3D <&vcc5v0_sys>; + }; +}; + +&combphy0_ps { + status =3D "okay"; +}; + +&combphy1_ps { + status =3D "okay"; +}; + +&combphy2_psu { + status =3D "okay"; +}; + +&i2c6 { + status =3D "okay"; + + hym8563: rtc@51 { + compatible =3D "haoyu,hym8563"; + reg =3D <0x51>; + #clock-cells =3D <0>; + clock-output-names =3D "hym8563"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&hym8563_int>; + interrupt-parent =3D <&gpio0>; + interrupts =3D ; + wakeup-source; + }; +}; + +&i2c7 { + status =3D "okay"; + + es8316: audio-codec@11 { + compatible =3D "everest,es8316"; + reg =3D <0x11>; + clocks =3D <&cru I2S0_8CH_MCLKOUT>; + clock-names =3D "mclk"; + assigned-clocks =3D <&cru I2S0_8CH_MCLKOUT>; + assigned-clock-rates =3D <12288000>; + #sound-dai-cells =3D <0>; + + port { + es8316_p0_0: endpoint { + remote-endpoint =3D <&i2s0_8ch_p0_0>; + }; + }; + }; +}; + +&i2s0_8ch { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2s0_lrck + &i2s0_mclk + &i2s0_sclk + &i2s0_sdi0 + &i2s0_sdo0>; + status =3D "okay"; + + i2s0_8ch_p0: port { + i2s0_8ch_p0_0: endpoint { + dai-format =3D "i2s"; + mclk-fs =3D <256>; + remote-endpoint =3D <&es8316_p0_0>; + }; + }; +}; + +&package_thermal { + polling-delay =3D <1000>; + + trips { + package_fan0: package-fan0 { + temperature =3D <55000>; + hysteresis =3D <2000>; + type =3D "active"; + }; + + package_fan1: package-fan1 { + temperature =3D <65000>; + hysteresis =3D <2000>; + type =3D "active"; + }; + }; + + cooling-maps { + map1 { + trip =3D <&package_fan0>; + cooling-device =3D <&fan THERMAL_NO_LIMIT 1>; + }; + + map2 { + trip =3D <&package_fan1>; + cooling-device =3D <&fan 2 THERMAL_NO_LIMIT>; + }; + }; +}; + +&pcie2x1l0 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pcie2_0_rst>; + reset-gpios =3D <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply =3D <&vcc3v3_pcie2x1l0>; + status =3D "okay"; +}; + +&pcie2x1l2 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pcie2_2_rst>; + reset-gpios =3D <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply =3D <&vcc3v3_pcie2x1l2>; + status =3D "okay"; +}; + +&pcie30phy { + status =3D "okay"; +}; + +&pcie3x4 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pcie3_rst>; + reset-gpios =3D <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply =3D <&vcc3v3_pcie30>; + status =3D "okay"; +}; + +&pinctrl { + hym8563 { + hym8563_int: hym8563-int { + rockchip,pins =3D <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + leds { + led_rgb_b: led-rgb-b { + rockchip,pins =3D <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + sound { + hp_detect: hp-detect { + rockchip,pins =3D <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + pcie2 { + pcie2_0_rst: pcie2-0-rst { + rockchip,pins =3D <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + pcie2_0_vcc3v3_en: pcie2-0-vcc-en { + rockchip,pins =3D <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + pcie2_2_rst: pcie2-2-rst { + rockchip,pins =3D <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + pcie3 { + pcie3_rst: pcie3-rst { + rockchip,pins =3D <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + pcie3_vcc3v3_en: pcie3-vcc3v3-en { + rockchip,pins =3D <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + usb { + vcc5v0_host_en: vcc5v0-host-en { + rockchip,pins =3D <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&pwm1 { + status =3D "okay"; +}; + +&sdmmc { + max-frequency =3D <200000000>; + no-sdio; + no-mmc; + bus-width =3D <4>; + cap-mmc-highspeed; + cap-sd-highspeed; + cd-gpios =3D <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; + disable-wp; + sd-uhs-sdr104; + vmmc-supply =3D <&vcc_3v3_s3>; + vqmmc-supply =3D <&vccio_sd_s0>; + status =3D "okay"; +}; + +&sdio { + max-frequency =3D <200000000>; + no-sd; + no-mmc; + non-removable; + bus-width =3D <4>; + cap-sdio-irq; + disable-wp; + keep-power-in-suspend; + wakeup-source; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-sdr104; + vmmc-supply =3D <&vcc3v3_pcie2x1l0>; + vqmmc-supply =3D <&vcc_1v8_s3>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sdiom0_pins>; + status =3D "okay"; +}; + +&uart6 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>; + status =3D "okay"; +}; + +&uart2 { + pinctrl-0 =3D <&uart2m0_xfer>; + status =3D "okay"; +}; + +&u2phy1 { + status =3D "okay"; +}; + +&u2phy1_otg { + status =3D "okay"; +}; + +&u2phy2 { + status =3D "okay"; +}; + +&u2phy2_host { + /* connected to USB hub, which is powered by vcc5v0_sys */ + phy-supply =3D <&vcc5v0_sys>; + status =3D "okay"; +}; + +&u2phy3 { + status =3D "okay"; +}; + +&u2phy3_host { + phy-supply =3D <&vcc5v0_host>; + status =3D "okay"; +}; + +&usbdp_phy1 { + status =3D "okay"; +}; + +&usb_host0_ehci { + status =3D "okay"; +}; + +&usb_host0_ohci { + status =3D "okay"; +}; + +&usb_host1_ehci { + status =3D "okay"; +}; + +&usb_host1_ohci { + status =3D "okay"; +}; + +&usb_host1_xhci { + dr_mode =3D "host"; + status =3D "okay"; +}; + +&usb_host2_xhci { + status =3D "okay"; +}; --=20 2.34.1