From nobody Tue Nov 26 19:56:45 2024 Received: from out-02.smtp.spacemail.com (out-02.smtp.spacemail.com [63.250.43.87]) (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 5476F20F5BB; Wed, 16 Oct 2024 15:48:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=63.250.43.87 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729093712; cv=none; b=VyXpjdamPl12ySbkCoIS9Qs8795UAtcGpG2yzXvaODuhbFmF7xVSObMSzG7MonrufeYPp8MPZzK1fgSktNYfkO7qFGmHQpVxV1jh2D8dtAB+51UzElKmVDEeUp4Up3tgOE3fYZ/+XFwuSwaNqh7pr96iUahlD3dIPqWj7EY3Jrk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729093712; c=relaxed/simple; bh=+Byg3qUOkO70sC9Lsr+dZ7SnDvX0vok4wxRdDTsEuPc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Hr/GWDEvQbeeN5ti7yNZKLjkhGbd+PxF/1g3zaSd6qcUz1IwyyIjqcxNHUxb7apwKSfUWiqVa4/4x7vr/GCdTZZKGJE9jI9Ux7XjF1agJBOGpBqbgNCU4n8JYly1PzikcGGscfHDjdeEWq7L5CCjoOg7gB48wZH2IszRsb6artQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org; spf=pass smtp.mailfrom=mentallysanemainliners.org; dkim=pass (2048-bit key) header.d=mentallysanemainliners.org header.i=@mentallysanemainliners.org header.b=b8lKf/+7; arc=none smtp.client-ip=63.250.43.87 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mentallysanemainliners.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mentallysanemainliners.org header.i=@mentallysanemainliners.org header.b="b8lKf/+7" Received: from prod-lbout-phx.jellyfish.systems (unknown [198.177.122.3]) by smtp.spacemail.com (Postfix) with ESMTPA id 4XTFjz4n6Hz4wjK; Wed, 16 Oct 2024 15:48:23 +0000 (UTC) Received: from igor-systemproductname.lan (83.8.245.91.ipv4.supernova.orange.pl [83.8.245.91]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.spacemail.com (Postfix) with ESMTPSA id 4XTFjr037hz8sWP; Wed, 16 Oct 2024 15:48:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mentallysanemainliners.org; s=spacemail; t=1729093698; bh=+Byg3qUOkO70sC9Lsr+dZ7SnDvX0vok4wxRdDTsEuPc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b8lKf/+7JGd175pOm1d4TCfpYwdBlk/eU0RcQwPnK1LITZVg/lR1ARJKTwtt10xKA hd6q7AtYHobGV7VGnaRNTU6T1jf0BPI805iOnxLfkw8YJ1TO5+HsVO0kXFnLoWi7Gz nYosnV9QJOqJS8fD7jn507hgU38tCj2nK94eYzAdmoFSYntqRu7+VEDDYZnE4IJnVF kVjA5XNQmUVxipkfsdSx++tSuGa4woTPrT6HItaY1uzifZkJWGqNktN/5eeGqB2xPd w32crML+LyD8zxHJn9JYbUc+dhHAsbYQECDCrd/XeNg3OCrRmTkCKm3BgycNzFgnOM jEs18jq63oUkQ== From: Igor Belwon To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, Igor Belwon Subject: [PATCH v3 5/6] arm64: dts: exynos: Add initial support for the Exynos 990 SoC Date: Wed, 16 Oct 2024 17:47:46 +0200 Message-ID: <20241016154747.64343-6-igor.belwon@mentallysanemainliners.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241016154747.64343-1-igor.belwon@mentallysanemainliners.org> References: <20241016154747.64343-1-igor.belwon@mentallysanemainliners.org> 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" The Exynos 990 SoC is an ARMv8 mobile SoC found in Samsung Galaxy N/S20 series phones (x1sxxx, c1sxxx). Add minimal support for this SoC, including: - All 8 cores via PSCI - ChipID - Generic timer. - Pinctrl The devices using this SoC suffer from the same issue as Exynos 8895 caused by the stock Samsung bootloader, as it doesn't configure CNTFRQ_EL0. Hence it's needed to hardcode the adequate frequency in the timer node, otherwise the kernel panics. Signed-off-by: Igor Belwon --- .../boot/dts/exynos/exynos990-pinctrl.dtsi | 2195 +++++++++++++++++ arch/arm64/boot/dts/exynos/exynos990.dtsi | 251 ++ 2 files changed, 2446 insertions(+) create mode 100644 arch/arm64/boot/dts/exynos/exynos990-pinctrl.dtsi create mode 100644 arch/arm64/boot/dts/exynos/exynos990.dtsi diff --git a/arch/arm64/boot/dts/exynos/exynos990-pinctrl.dtsi b/arch/arm64= /boot/dts/exynos/exynos990-pinctrl.dtsi new file mode 100644 index 000000000000..a03d36458d76 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos990-pinctrl.dtsi @@ -0,0 +1,2195 @@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* + * Samsung Exynos 990 pin-mux and pin-config device tree source + * + * Copyright (c) 2024, Igor Belwon + */ + +#include +#include "exynos-pinctrl.h" + +&pinctrl_alive { + gpa0: gpa0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&gic>; + interrupts =3D , + , + , + , + , + , + , + ; + }; + + gpa1: gpa1-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&gic>; + interrupts =3D , + , + , + , + , + , + , + ; + }; + + gpa2: gpa2-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&gic>; + interrupts =3D , + , + , + , + , + , + , + ; + }; + + gpa3: gpa3-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&gic>; + interrupts =3D , + , + , + , + , + , + , + ; + }; + + gpa4: gpa4-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&gic>; + interrupts =3D , + ; + }; + + gpq0: gpq0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + speedy_bus: speedy-bus-pins { + samsung,pins =3D "gpq0-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + speedy1_bus: speedy1-bus-pins { + samsung,pins =3D "gpq0-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + /* UART1 is also referred to as UART_BT in downstream. */ + uart1_bus_single: uart1-bus-pins { + samsung,pins =3D "gpq0-3", "gpq0-2", "gpq0-1", "gpq0-0"; + samsung,pin-function =3D ; + samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + }; + + uart1_rxd_pull: uart1-bus-rxd-pins { + samsung,pins =3D "gpq0-0"; + samsung,pin-pud =3D ; + }; + + uart1_bus_rts: uart1-bus-rts-pins { + samsung,pins =3D "gpq0-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart1_bus_tx_input: uart1-bus-tx-input-pins { + samsung,pins =3D "gpq0-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart1_bus_tx_dat: uart1-bus-tx-dat-pins { + samsung,pins =3D "gpq0-1"; + }; + + uart1_bus_tx_con: uart1-bus-tx-con-pins { + samsung,pins =3D "gpq0-1"; + samsung,pin-function =3D ; + }; + + wlan_host_wake: wlan-host-wake-pins { + samsung,pins =3D "gpa0-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; +}; + +&pinctrl_cmgp { + gpm0: gpm0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpm1: gpm1-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpm2: gpm2-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpm3: gpm3-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpm4: gpm4-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm5: gpm5-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm6: gpm6-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm7: gpm7-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm8: gpm8-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm9: gpm9-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm10: gpm10-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm11: gpm11-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm12: gpm12-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm13: gpm13-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm14: gpm14-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm15: gpm15-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm16: gpm16-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm17: gpm17-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm18: gpm18-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm19: gpm19-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm20: gpm20-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm21: gpm21-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm22: gpm22-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm23: gpm23-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm24: gpm24-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm25: gpm25-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm26: gpm26-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm27: gpm27-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm28: gpm28-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm29: gpm29-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm30: gpm30-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm31: gpm31-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm32: gpm32-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + gpm33: gpm33-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupts =3D ; + }; + + hsi2c38_bus: hsi2c38-bus-pins { + samsung,pins =3D "gpm0-0", "gpm1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c39_bus: hsi2c39-bus-pins { + samsung,pins =3D "gpm2-0", "gpm3-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c40_bus: hsi2c40-bus-pins { + samsung,pins =3D "gpm4-0", "gpm5-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c41_bus: hsi2c41-bus-pins { + samsung,pins =3D "gpm6-0", "gpm7-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c42_bus: hsi2c42-bus-pins { + samsung,pins =3D "gpm8-0", "gpm9-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c43_bus: hsi2c43-bus-pins { + samsung,pins =3D "gpm10-0", "gpm11-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c44_bus: hsi2c44-bus-pins { + samsung,pins =3D "gpm12-0", "gpm13-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c45_bus: hsi2c45-bus-pins { + samsung,pins =3D "gpm14-0", "gpm15-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi19_bus: spi19-bus-pins { + samsung,pins =3D "gpm0-0", "gpm1-0", "gpm2-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi19_cs: spi19-cs-pins { + samsung,pins =3D "gpm3-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi19_cs_func: spi19-cs-func-pins { + samsung,pins =3D "gpm3-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi20_bus: spi20-bus-pins { + samsung,pins =3D "gpm4-0", "gpm5-0", "gpm6-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi20_cs: spi20-cs-pins { + samsung,pins =3D "gpm7-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi20_cs_func: spi20-cs-func-pins { + samsung,pins =3D "gpm7-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi21_bus: spi21-bus-pins { + samsung,pins =3D "gpm8-0", "gpm9-0", "gpm10-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi21_cs: spi21-cs-pins { + samsung,pins =3D "gpm11-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi21_cs_func: spi21-cs-func-pins { + samsung,pins =3D "gpm11-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi22_bus: spi22-bus-pins { + samsung,pins =3D "gpm12-0", "gpm13-0", "gpm14-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi22_cs: spi22-cs-pins { + samsung,pins =3D "gpm15-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi22_cs_func: spi22-cs-func-pins { + samsung,pins =3D "gpm15-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + uart21_bus_single: uart21-bus-pins { + samsung,pins =3D "gpm0-0", "gpm1-0", "gpm2-0", "gpm3-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart21_bus_dual: uart21-bus-dual-pins { + samsung,pins =3D "gpm0-0", "gpm1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart22_bus_single: uart22-bus-pins { + samsung,pins =3D "gpm4-0", "gpm5-0", "gpm6-0", "gpm7-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart22_bus_dual: uart22-bus-dual-pins { + samsung,pins =3D "gpm4-0", "gpm5-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart23_bus_single: uart23-bus-pins { + samsung,pins =3D "gpm8-0", "gpm9-0", "gpm10-0", "gpm11-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart23_bus_dual: uart23-bus-dual-pins { + samsung,pins =3D "gpm8-0", "gpm9-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart24_bus_single: uart24-bus-pins { + samsung,pins =3D "gpm12-0", "gpm13-0", "gpm14-0", "gpm15-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart24_bus_dual: uart24-bus-dual-pins { + samsung,pins =3D "gpm12-0", "gpm13-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; +}; + +&pinctrl_hsi1 { + gpf0: gpf0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpf1: gpf1-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpf2: gpf2-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + pcie0_clkreq: pcie0-clkreq-pins { + samsung,pins =3D "gpf0-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + pcie0_perst: pcie0-perst-pins { + samsung,pins =3D "gpf0-1"; + samsung,pin-function =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + }; + + pcie1_clkreq: pcie1-clkreq-pins { + samsung,pins =3D "gpf0-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + pcie1_perst: pcie1-perst-pins { + samsung,pins =3D "gpf0-3"; + samsung,pin-function =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + }; + + ufs_rst_n: ufs-rst-n-pins { + samsung,pins =3D "gpf2-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + ufs_refclk_out: ufs-refclk-out-pins { + samsung,pins =3D "gpf2-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + sd2_clk: sd2-clk-pins { + samsung,pins =3D "gpf1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_cmd: sd2-cmd-pins { + samsung,pins =3D "gpf1-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_bus1: sd2-bus-width1-pins { + samsung,pins =3D "gpf1-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_bus4: sd2-bus-width4-pins { + samsung,pins =3D "gpf1-3", "gpf1-4", "gpf1-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_clk_fast_slew_rate_1x: sd2-clk-fast-slew-rate-1x-pins { + samsung,pins =3D "gpf1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_clk_fast_slew_rate_1_5x: sd2-clk-fast-slew-rate-1-5x-pins { + samsung,pins =3D "gpf1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_clk_fast_slew_rate_2x: sd2-clk-fast-slew-rate-2x-pins { + samsung,pins =3D "gpf1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_clk_fast_slew_rate_2_5x: sd2-clk-fast-slew-rate-2-5x-pins { + samsung,pins =3D "gpf1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_clk_fast_slew_rate_3x: sd2-clk-fas-slew-rate-3x-pins { + samsung,pins =3D "gpf1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_clk_fast_slew_rate_4x: sd2-clk-fast-slew-rate-4x-pins { + samsung,pins =3D "gpf1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sd2_pins_as_pdn: sd2-pins-as-pdn-pins { + samsung,pins =3D "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3", "gpf1-4", "gpf1= -5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; +}; + +&pinctrl_hsi2 { + gpf3: gpf3-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + pcie2_clkreq: pcie2-clkreq-pins { + samsung,pins =3D "gpf3-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + pcie2_perst: pcie2-perst-pins { + samsung,pins =3D "gpf3-1"; + samsung,pin-function =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + }; +}; + +&pinctrl_peric0 { + gpg0: gpg0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp0: gpp0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp1: gpp1-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp2: gpp2-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp3: gpp3-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp4: gpp4-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + hsi2c0_bus: hsi2c0-bus-pins { + samsung,pins =3D "gpp0-0", "gpp0-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c1_bus: hsi2c1-bus-pins { + samsung,pins =3D "gpp0-2", "gpp0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c2_bus: hsi2c2-bus-pins { + samsung,pins =3D "gpp0-4", "gpp0-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c3_bus: hsi2c3-bus-pins { + samsung,pins =3D "gpp0-6", "gpp0-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c4_bus: hsi2c4-bus-pins { + samsung,pins =3D "gpp1-0", "gpp1-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + hsi2c5_bus: hsi2c5-bus-pins { + samsung,pins =3D "gpp1-2", "gpp1-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c6_bus: hsi2c6-bus-pins { + samsung,pins =3D "gpp1-4", "gpp1-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c7_bus: hsi2c7-bus-pins { + samsung,pins =3D "gpp1-6", "gpp1-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c8_bus: hsi2c8-bus-pins { + samsung,pins =3D "gpp2-0", "gpp2-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c9_bus: hsi2c9-bus-pins { + samsung,pins =3D "gpp2-2", "gpp2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c10_bus: hsi2c10-bus-pins { + samsung,pins =3D "gpp2-4", "gpp2-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c11_bus: hsi2c11-bus-pins { + samsung,pins =3D "gpp2-6", "gpp2-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c26_bus: hsi2c26-bus-pins { + samsung,pins =3D "gpp3-0", "gpp3-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c27_bus: hsi2c27-bus-pins { + samsung,pins =3D "gpp3-2", "gpp3-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + hsi2c28_bus: hsi2c28-bus-pins { + samsung,pins =3D "gpp3-4", "gpp3-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c29_bus: hsi2c29-bus-pins { + samsung,pins =3D "gpp3-6", "gpp3-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c30_bus: hsi2c30-bus-pins { + samsung,pins =3D "gpp4-0", "gpp4-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c31_bus: hsi2c31-bus-pins { + samsung,pins =3D "gpp4-2", "gpp4-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi0_bus: spi0-bus-pins { + samsung,pins =3D "gpp0-2", "gpp0-1", "gpp0-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi0_cs: spi0-cs-pins { + samsung,pins =3D "gpp0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi0_cs_func: spi0-cs-func-pins { + samsung,pins =3D "gpp0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi1_bus: spi1-bus-pins { + samsung,pins =3D "gpp0-6", "gpp0-5", "gpp0-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi1_cs: spi1-cs-pins { + samsung,pins =3D "gpp0-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi1_cs_func: spi1-cs-func-pins { + samsung,pins =3D "gpp0-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi2_bus: spi2-bus-pins { + samsung,pins =3D "gpp1-2", "gpp1-1", "gpp1-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi2_cs: spi2-cs-pins { + samsung,pins =3D "gpp1-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi2_cs_func: spi2-cs-func-pins { + samsung,pins =3D "gpp1-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi3_bus: spi3-bus-pins { + samsung,pins =3D "gpp1-6", "gpp1-5", "gpp1-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi3_cs: spi3-cs-pins { + samsung,pins =3D "gpp1-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi3_cs_func: spi3-cs-func-pins { + samsung,pins =3D "gpp1-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi4_bus: spi4-bus-pins { + samsung,pins =3D "gpp2-2", "gpp2-1", "gpp2-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi4_cs: spi4-cs-pins { + samsung,pins =3D "gpp2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi4_cs_func: spi4-cs-func-pins { + samsung,pins =3D "gpp2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi4_fp_inactive: spi4-fp-inactive-pins { + samsung,pins =3D "gpp2-3", "gpp2-2", "gpp2-1", "gpp2-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi4_fp_cs_func_high: spi4-fp-cs-func-high-pins { + samsung,pins =3D "gpp2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi5_bus: spi5-bus-pins { + samsung,pins =3D "gpp2-6", "gpp2-5", "gpp2-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi5_cs: spi5-cs-pins { + samsung,pins =3D "gpp2-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi5_cs_func: spi5-cs-func-pins { + samsung,pins =3D "gpp2-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi13_bus: spi13-bus-pins { + samsung,pins =3D "gpp3-2", "gpp3-1", "gpp3-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi13_cs: spi13-cs-pins { + samsung,pins =3D "gpp3-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi13_cs_func: spi13-cs-func-pins { + samsung,pins =3D "gpp3-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi14_bus: spi14-bus-pins { + samsung,pins =3D "gpp3-6", "gpp3-5", "gpp3-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi14_cs: spi14-cs-pins { + samsung,pins =3D "gpp3-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi14_cs_func: spi14-cs-func-pins { + samsung,pins =3D "gpp3-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi15_bus: spi15-bus-pins { + samsung,pins =3D "gpp4-2", "gpp4-1", "gpp4-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi15_cs: spi15-cs-pins { + samsung,pins =3D "gpp4-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi15_cs_func: spi15-cs-func-pins { + samsung,pins =3D "gpp4-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + uart0_bus: uart0-bus-pins { + samsung,pins =3D "gpp4-6", "gpp4-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart2_bus_single: uart2-bus-pins { + samsung,pins =3D "gpp0-0", "gpp0-1", "gpp0-2", "gpp0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart2_bus_dual: uart2-bus-dual-pins { + samsung,pins =3D "gpp0-0", "gpp0-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart3_bus_single: uart3-bus-pins { + samsung,pins =3D "gpp0-4", "gpp0-5", "gpp0-6", "gpp0-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart3_bus_dual: uart3-bus-dual-pins { + samsung,pins =3D "gpp0-4", "gpp0-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart4_bus_single: uart4-bus-pins { + samsung,pins =3D "gpp1-0", "gpp1-1", "gpp1-2", "gpp1-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart4_bus_dual: uart4-bus-dual-pins { + samsung,pins =3D "gpp1-0", "gpp1-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart5_bus_single: uart5-bus-pins { + samsung,pins =3D "gpp1-4", "gpp1-5", "gpp1-6", "gpp1-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart5_bus_dual: uart5-bus-dual-pins { + samsung,pins =3D "gpp1-4", "gpp1-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart6_bus_single: uart6-bus-pins { + samsung,pins =3D "gpp2-0", "gpp2-1", "gpp2-2", "gpp2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart6_bus_dual: uart6-bus-dual-pins { + samsung,pins =3D "gpp2-0", "gpp2-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart7_bus_single: uart7-bus-pins { + samsung,pins =3D "gpp2-4", "gpp2-5", "gpp2-6", "gpp2-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart7_bus_dual: uart7-bus-dual-pins { + samsung,pins =3D "gpp2-4", "gpp2-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart15_bus_single: uart15-bus-pins { + samsung,pins =3D "gpp3-0", "gpp3-1", "gpp3-2", "gpp3-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart15_bus_dual: uart15-bus-dual-pins { + samsung,pins =3D "gpp3-0", "gpp3-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart16_bus_single: uart16-bus-pins { + samsung,pins =3D "gpp3-4", "gpp3-5", "gpp3-6", "gpp3-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart16_bus_dual: uart16-bus-dual-pins { + samsung,pins =3D "gpp3-4", "gpp3-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart17_bus_single: uart17-bus-pins { + samsung,pins =3D "gpp4-0", "gpp4-1", "gpp4-2", "gpp4-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart17_bus_dual: uart17-bus-dual-pins { + samsung,pins =3D "gpp4-0", "gpp4-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; +}; + +&pinctrl_peric1 { + gpb0: gpb0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpb1: gpb1-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpb2: gpb2-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpc0: gpc0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpg1: gpg1-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp5: gpp5-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp6: gpp6-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp7: gpp7-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp8: gpp8-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + gpp9: gpp9-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + aud_i2s0_bus: aud-i2s0-bus-pins { + samsung,pins =3D "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s0_idle: aud-i2s0-idle-pins { + samsung,pins =3D "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s1_bus: aud-i2s1-bus-pins { + samsung,pins =3D "gpb0-4", "gpb0-5", "gpb0-6", "gpb0-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s1_idle: aud-i2s1-idle-pins { + samsung,pins =3D "gpb0-4", "gpb0-5", "gpb0-6", "gpb0-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s2_bus: aud-i2s2-bus-pins { + samsung,pins =3D "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s2_idle: aud-i2s2-idle-pins { + samsung,pins =3D "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s3_bus: aud-i2s3-bus-pins { + samsung,pins =3D "gpb1-4", "gpb1-5", "gpb1-6", "gpb1-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s3_idle: aud-i2s3-idle-pins { + samsung,pins =3D "gpb1-4", "gpb1-5", "gpb1-6", "gpb1-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s4_bus: aud-i2s4-bus-pins { + samsung,pins =3D "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s4_pci: aud-i2s4-pci-pins { + samsung,pins =3D "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s4_idle: aud-i2s4-idle-pins { + samsung,pins =3D "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s5_bus: aud-i2s5-bus-pins { + samsung,pins =3D "gpb2-4", "gpb2-5", "gpb2-6", "gpb2-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_i2s5_idle: aud-i2s5-idle-pins { + samsung,pins =3D "gpb2-4", "gpb2-5", "gpb2-6", "gpb2-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_dsd_bus: aud-dsd-bus-pins { + samsung,pins =3D "gpb2-4", "gpb2-5", "gpb2-6"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + aud_dsd_idle: aud-dsd-idle-pins { + samsung,pins =3D "gpb2-4", "gpb2-5", "gpb2-6"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + cfg_wlanen: cfg-wlanen-pins { + samsung,pins =3D "gpb0-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + cnss_wlan_en_active: cnss-wlan-en-active-pins { + samsung,pins =3D "gpb0-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + cnss_wlan_en_sleep: cnss-wlan-en-sleep-pins { + samsung,pins =3D "gpb0-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + decon_f_te_on: decon-f-te-on-pins { + samsung,pins =3D "gpc0-4"; + samsung,pin-function =3D <0xf>; + }; + + decon_f_te_off: decon-f-te-off-pins { + samsung,pins =3D "gpc0-4"; + samsung,pin-function =3D ; + }; + + decon_s_te_on: decon-s-te-on-pins { + samsung,pins =3D "gpc0-5"; + samsung,pin-function =3D <0xf>; + }; + + decon_s_te_off: decon-s-te-off-pins { + samsung,pins =3D "gpc0-5"; + samsung,pin-function =3D ; + }; + + hsi2c12_bus: hsi2c12-bus-pins { + samsung,pins =3D "gpp5-0", "gpp5-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c13_bus: hsi2c13-bus-pins { + samsung,pins =3D "gpp5-2", "gpp5-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c14_bus: hsi2c14-bus-pins { + samsung,pins =3D "gpp5-4", "gpp5-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c15_bus: hsi2c15-bus-pins { + samsung,pins =3D "gpp5-6", "gpp5-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c16_bus: hsi2c16-bus-pins { + samsung,pins =3D "gpp6-0", "gpp6-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c17_bus: hsi2c17-bus-pins { + samsung,pins =3D "gpp6-2", "gpp6-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c18_bus: hsi2c18-bus-pins { + samsung,pins =3D "gpp6-4", "gpp6-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c19_bus: hsi2c19-bus-pins { + samsung,pins =3D "gpp6-6", "gpp6-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c20_bus: hsi2c20-bus-pins { + samsung,pins =3D "gpp7-0", "gpp7-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c21_bus: hsi2c21-bus-pins { + samsung,pins =3D "gpp7-2", "gpp7-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c22_bus: hsi2c22-bus-pins { + samsung,pins =3D "gpp7-4", "gpp7-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c23_bus: hsi2c23-bus-pins { + samsung,pins =3D "gpp7-6", "gpp7-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c24_bus: hsi2c24-bus-pins { + samsung,pins =3D "gpp8-0", "gpp8-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c25_bus: hsi2c25-bus-pins { + samsung,pins =3D "gpp8-2", "gpp8-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c32_bus: hsi2c32-bus-pins { + samsung,pins =3D "gpp8-4", "gpp8-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c33_bus: hsi2c33-bus-pins { + samsung,pins =3D "gpp8-6", "gpp8-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c34_bus: hsi2c34-bus-pins { + samsung,pins =3D "gpp9-0", "gpp9-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c35_bus: hsi2c35-bus-pins { + samsung,pins =3D "gpp9-2", "gpp9-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c36_bus: hsi2c36-bus-pins { + samsung,pins =3D "gpp9-4", "gpp9-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hsi2c37_bus: hsi2c37-bus-pins { + samsung,pins =3D "gpp9-6", "gpp9-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk0_out: sensor-mclk0-out-pins { + samsung,pins =3D "gpc0-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk1_out: sensor-mclk1-out-pins { + samsung,pins =3D "gpg1-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk2_out: sensor-mclk2-out-pins { + samsung,pins =3D "gpc0-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk3_out: sensor-mclk3-out-pins { + samsung,pins =3D "gpc0-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk4_out: sensor-mclk4-out-pins { + samsung,pins =3D "gpc0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk5_out: sensor-mclk5-out-pins { + samsung,pins =3D "gpg1-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk0_fn: sensor-mclk0-fn-pins { + samsung,pins =3D "gpc0-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk1_fn: sensor-mclk1-fn-pins { + samsung,pins =3D "gpg1-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk2_fn: sensor-mclk2-fn-pins { + samsung,pins =3D "gpc0-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk3_fn: sensor-mclk3-fn-pins { + samsung,pins =3D "gpc0-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk4_fn: sensor-mclk4-fn-pins { + samsung,pins =3D "gpc0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + sensor_mclk5_fn: sensor-mclk5-fn-pins { + samsung,pins =3D "gpg1-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi6_bus: spi6-bus-pins { + samsung,pins =3D "gpp5-2", "gpp5-1", "gpp5-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi6_cs: spi6-cs-pins { + samsung,pins =3D "gpp5-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi6_cs_func: spi6-cs-func-pins { + samsung,pins =3D "gpp5-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi7_bus: spi7-bus-pins { + samsung,pins =3D "gpp5-6", "gpp5-5", "gpp5-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi7_cs: spi7-cs-pins { + samsung,pins =3D "gpp5-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi7_cs_func: spi7-cs-func-pins { + samsung,pins =3D "gpp5-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi8_bus: spi8-bus-pins { + samsung,pins =3D "gpp6-2", "gpp6-1", "gpp6-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi8_cs: spi8-cs-pins { + samsung,pins =3D "gpp6-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi8_cs_func: spi8-cs-func-pins { + samsung,pins =3D "gpp6-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi9_bus: spi9-bus-pins { + samsung,pins =3D "gpp6-6", "gpp6-5", "gpp6-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi9_cs: spi9-cs-pins { + samsung,pins =3D "gpp6-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi9_cs_func: spi9-cs-func-pins { + samsung,pins =3D "gpp6-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi10_bus: spi10-bus-pins { + samsung,pins =3D "gpp7-2", "gpp7-1", "gpp7-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi10_cs: spi10-cs-pins { + samsung,pins =3D "gpp7-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi10_cs_func: spi10-cs-func-pins { + samsung,pins =3D "gpp7-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi11_bus: spi11-bus-pins { + samsung,pins =3D "gpp7-6", "gpp7-5", "gpp7-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi11_cs: spi11-cs-pins { + samsung,pins =3D "gpp7-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi11_cs_func: spi11-cs-func-pins { + samsung,pins =3D "gpp7-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi12_bus: spi12-bus-pins { + samsung,pins =3D "gpp8-2", "gpp8-1", "gpp8-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi12_cs: spi12-cs-pins { + samsung,pins =3D "gpp8-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi12_cs_func: spi12-cs-func-pins { + samsung,pins =3D "gpp8-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi16_bus: spi16-bus-pins { + samsung,pins =3D "gpp8-6", "gpp8-5", "gpp8-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + spi16_cs: spi16-cs-pins { + samsung,pins =3D "gpp8-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi16_cs_func: spi16-cs-func-pins { + samsung,pins =3D "gpp8-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + }; + + spi17_bus: spi17-bus-pins { + samsung,pins =3D "gpp9-2", "gpp9-1", "gpp9-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi17_cs: spi17-cs-pins { + samsung,pins =3D "gpp9-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi17_cs_func: spi17-cs-func-pins { + samsung,pins =3D "gpp9-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi18_bus: spi18-bus-pins { + samsung,pins =3D "gpp9-6", "gpp9-5", "gpp9-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi18_cs: spi18-cs-pins { + samsung,pins =3D "gpp9-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + spi18_cs_func: spi18-cs-func-pins { + samsung,pins =3D "gpp9-7"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + uart8_bus_single: uart8-bus-pins { + samsung,pins =3D "gpp5-3", "gpp5-2", "gpp5-1", "gpp5-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart8_bus_dual: uart8-bus-dual-pins { + samsung,pins =3D "gpp5-0", "gpp5-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart9_bus_single: uart9-bus-pins { + samsung,pins =3D "gpp5-7", "gpp5-6", "gpp5-5", "gpp5-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart9_bus_dual: uart9-bus-dual-pins { + samsung,pins =3D "gpp5-4", "gpp5-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart10_bus_single: uart10-bus-pins { + samsung,pins =3D "gpp6-3", "gpp6-2", "gpp6-1", "gpp6-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart10_bus_dual: uart10-bus-dual-pins { + samsung,pins =3D "gpp6-0", "gpp6-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart11_bus_single: uart11-bus-pins { + samsung,pins =3D "gpp6-7", "gpp6-6", "gpp6-5", "gpp6-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart11_bus_dual: uart11-bus-dual-pins { + samsung,pins =3D "gpp6-4", "gpp6-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart12_bus_single: uart12-bus-pins { + samsung,pins =3D "gpp7-3", "gpp7-2", "gpp7-1", "gpp7-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart12_bus_dual: uart12-bus-dual-pins { + samsung,pins =3D "gpp7-0", "gpp7-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart13_bus_single: uart13-bus-pins { + samsung,pins =3D "gpp7-7", "gpp7-6", "gpp7-5", "gpp7-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart13_bus_dual: uart13-bus-dual-pins { + samsung,pins =3D "gpp7-4", "gpp7-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart14_bus_single: uart14-bus-pins { + samsung,pins =3D "gpp8-3", "gpp8-2", "gpp8-1", "gpp8-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart14_bus_dual: uart14-bus-dual-pins { + samsung,pins =3D "gpp8-0", "gpp8-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart18_bus_single: uart18-bus-pins { + samsung,pins =3D "gpp8-7", "gpp8-6", "gpp8-5", "gpp8-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart18_bus_dual: uart18-bus-dual-pins { + samsung,pins =3D "gpp8-4", "gpp8-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart19_bus_single: uart19-bus-pins { + samsung,pins =3D "gpp9-3", "gpp9-2", "gpp9-1", "gpp9-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart19_bus_dual: uart19-bus-dual-pins { + samsung,pins =3D "gpp9-0", "gpp9-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart20_bus_single: uart20-bus-pins { + samsung,pins =3D "gpp9-7", "gpp9-6", "gpp9-5", "gpp9-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; + + uart20_bus_dual: uart20-bus-dual-pins { + samsung,pins =3D "gpp9-4", "gpp9-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; +}; + +&pinctrl_vts { + gpv0: gpv0-gpio-bank { + gpio-controller; + #gpio-cells =3D <2>; + + interrupt-controller; + #interrupt-cells =3D <2>; + }; + + amic_pdm: amic-pdm-pins { + samsung,pins =3D "gpv0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_bus_clk: dmic-bus-clk-pins { + samsung,pins =3D "gpv0-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_bus_clk_idle: dmic-bus-clk-idle-pins { + samsung,pins =3D "gpv0-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_bus_clk1: dmic-bus-clk1-pins { + samsung,pins =3D "gpv0-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_bus_clk1_idle: dmic-bus-clk1-idle-pins { + samsung,pins =3D "gpv0-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_bus_clk2: dmic-bus-clk2-pins { + samsung,pins =3D "gpv0-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_bus_clk2_idle: dmic-bus-clk2-idle-pins { + samsung,pins =3D "gpv0-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_pdm: dmic-pdm-pins { + samsung,pins =3D "gpv0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_pdm_idle: dmic-pdm-idle-pins { + samsung,pins =3D "gpv0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_pdm1_bus: dmic-pdm1-bus-pins { + samsung,pins =3D "gpv0-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_pdm1_idle: dmic-pdm1-idle-pins { + samsung,pins =3D "gpv0-4"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_pdm2_bus: dmic-pdm2-bus-pins { + samsung,pins =3D "gpv0-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; + + dmic_pdm2_idle: dmic-pdm2-idle-pins { + samsung,pins =3D "gpv0-5"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-con-pdn =3D ; + }; +}; diff --git a/arch/arm64/boot/dts/exynos/exynos990.dtsi b/arch/arm64/boot/dt= s/exynos/exynos990.dtsi new file mode 100644 index 000000000000..c1986f00e443 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos990.dtsi @@ -0,0 +1,251 @@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* + * Samsung Exynos 990 SoC device tree source + * + * Copyright (c) 2024, Igor Belwon + */ + +#include + +/ { + compatible =3D "samsung,exynos990"; + #address-cells =3D <2>; + #size-cells =3D <1>; + + interrupt-parent =3D <&gic>; + + aliases { + pinctrl0 =3D &pinctrl_alive; + pinctrl1 =3D &pinctrl_cmgp; + pinctrl2 =3D &pinctrl_hsi1; + pinctrl3 =3D &pinctrl_hsi2; + pinctrl4 =3D &pinctrl_peric0; + pinctrl5 =3D &pinctrl_peric1; + pinctrl6 =3D &pinctrl_vts; + }; + + arm-a55-pmu { + compatible =3D "arm,cortex-a55-pmu"; + interrupts =3D , + , + , + ; + + interrupt-affinity =3D <&cpu0>, + <&cpu1>, + <&cpu2>, + <&cpu3>; + }; + + arm-a76-pmu { + compatible =3D "arm,cortex-a76-pmu"; + interrupts =3D , + ; + + interrupt-affinity =3D <&cpu4>, + <&cpu5>; + }; + + /* There's no PMU model for cluster2, which are the Mongoose cores. */ + + cpus { + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpu-map { + cluster0 { + core0 { + cpu =3D <&cpu0>; + }; + + core1 { + cpu =3D <&cpu1>; + }; + + core2 { + cpu =3D <&cpu2>; + }; + + core3 { + cpu =3D <&cpu3>; + }; + }; + + cluster1 { + core0 { + cpu =3D <&cpu4>; + }; + + core1 { + cpu =3D <&cpu5>; + }; + }; + + cluster2 { + core0 { + cpu =3D <&cpu6>; + }; + + core1 { + cpu =3D <&cpu7>; + }; + }; + }; + + cpu0: cpu@0 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a55"; + reg =3D <0x0>; + enable-method =3D "psci"; + }; + + cpu1: cpu@1 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a55"; + reg =3D <0x1>; + enable-method =3D "psci"; + }; + + cpu2: cpu@2 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a55"; + reg =3D <0x2>; + enable-method =3D "psci"; + }; + + cpu3: cpu@3 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a55"; + reg =3D <0x3>; + enable-method =3D "psci"; + }; + + cpu4: cpu@100 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a76"; + reg =3D <0x4>; + enable-method =3D "psci"; + }; + + cpu5: cpu@101 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a76"; + reg =3D <0x5>; + enable-method =3D "psci"; + }; + + cpu6: cpu@200 { + device_type =3D "cpu"; + compatible =3D "samsung,mongoose-m5"; + reg =3D <0x6>; + enable-method =3D "psci"; + }; + + cpu7: cpu@201 { + device_type =3D "cpu"; + compatible =3D "samsung,mongoose-m5"; + reg =3D <0x7>; + enable-method =3D "psci"; + }; + }; + + oscclk: clock-osc { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + clock-output-names =3D "oscclk"; + }; + + psci { + compatible =3D "arm,psci-0.2"; + method =3D "hvc"; + }; + + soc: soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0x0 0x0 0x0 0x20000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + chipid@10000000 { + compatible =3D "samsung,exynos990-chipid", + "samsung,exynos850-chipid"; + reg =3D <0x10000000 0x100>; + }; + + gic: interrupt-controller@10101000 { + compatible =3D "arm,gic-400"; + reg =3D <0x10101000 0x1000>, + <0x10102000 0x1000>, + <0x10104000 0x2000>, + <0x10106000 0x2000>; + #interrupt-cells =3D <3>; + interrupt-controller; + interrupts =3D ; + #address-cells =3D <0>; + #size-cells =3D <1>; + }; + + pinctrl_peric0: pinctrl@10430000 { + compatible =3D "samsung,exynos990-pinctrl"; + reg =3D <0x10430000 0x1000>; + interrupts =3D ; + }; + + pinctrl_peric1: pinctrl@10730000 { + compatible =3D "samsung,exynos990-pinctrl"; + reg =3D <0x10730000 0x1000>; + interrupts =3D ; + }; + + pinctrl_hsi1: pinctrl@13040000 { + compatible =3D "samsung,exynos990-pinctrl"; + reg =3D <0x13040000 0x1000>; + interrupts =3D ; + }; + + pinctrl_hsi2: pinctrl@13c30000 { + compatible =3D "samsung,exynos990-pinctrl"; + reg =3D <0x13c30000 0x1000>; + interrupts =3D ; + }; + + pinctrl_vts: pinctrl@15580000 { + compatible =3D "samsung,exynos990-pinctrl"; + reg =3D <0x15580000 0x1000>; + }; + + pinctrl_alive: pinctrl@15850000 { + compatible =3D "samsung,exynos990-pinctrl"; + reg =3D <0x15850000 0x1000>; + + wakeup-interrupt-controller { + compatible =3D "samsung,exynos990-wakeup-eint", + "samsung,exynos850-wakeup-eint", + "samsung,exynos7-wakeup-eint"; + }; + }; + + pinctrl_cmgp: pinctrl@15c30000 { + compatible =3D "samsung,exynos990-pinctrl"; + reg =3D <0x15c30000 0x1000>; + }; + }; + + timer { + compatible =3D "arm,armv8-timer"; + interrupts =3D , + , + , + ; + + /* + * Non-updatable, broken stock Samsung bootloader does not + * configure CNTFRQ_EL0 + */ + clock-frequency =3D <26000000>; + }; +}; + +#include "exynos990-pinctrl.dtsi" --=20 2.45.2