From: Dylan Hung <dylan_hung@aspeedtech.com>
To: linux-aspeed@lists.ozlabs.org
Subject: [PATCH 1/2] [RFC] ARM: dts: aspeed-g6: Add AST2600 I3Cs
Date: Mon, 6 May 2024 18:51:19 +0800 [thread overview]
Message-ID: <20240506105120.3028083-2-dylan_hung@aspeedtech.com> (raw)
In-Reply-To: <20240506105120.3028083-1-dylan_hung@aspeedtech.com>
The AST2600 has 6 I3Cs which are based on dw-i3c along with Aspeed
proprietary enhancements.
Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 137 ++++++++++++++++++++++++
1 file changed, 137 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
index 29f94696d8b1..d0d685747b74 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
@@ -13,6 +13,12 @@ / {
interrupt-parent = <&gic>;
aliases {
+ i3c0 = &i3c0;
+ i3c1 = &i3c1;
+ i3c2 = &i3c2;
+ i3c3 = &i3c3;
+ i3c4 = &i3c4;
+ i3c5 = &i3c5;
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
@@ -579,6 +585,13 @@ wdt4: watchdog at 1e7850c0 {
status = "disabled";
};
+ i3c: bus at 1e7a0000 {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x1e7a0000 0x8000>;
+ };
+
peci0: peci-controller at 1e78b000 {
compatible = "aspeed,ast2600-peci";
reg = <0x1e78b000 0x100>;
@@ -1125,3 +1138,127 @@ i2c15: i2c-bus at 800 {
status = "disabled";
};
};
+
+&i3c {
+ i3c_global: i3c-global {
+ compatible = "aspeed,ast2600-i3c-global", "simple-mfd", "syscon";
+ resets = <&syscon ASPEED_RESET_I3C>;
+ reg = <0x0 0x1000>;
+ };
+
+ i3c0: i3c at 2000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x2000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C0CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c1_default>;
+ interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 0>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c1: i3c at 3000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x3000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C1CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c2_default>;
+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 1>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c2: i3c at 4000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x4000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C2CLK>;
+ interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 2>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c3: i3c at 5000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x5000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C3CLK>;
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 3>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c4: i3c at 6000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x6000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C4CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c5_default>;
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 4>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c5: i3c at 7000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x7000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C5CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c6_default>;
+ interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 5>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+};
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Dylan Hung <dylan_hung@aspeedtech.com>
To: <robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
<joel@jms.id.au>, <andrew@codeconstruct.com.au>,
<jk@codeconstruct.com.au>, <alexandre.belloni@bootlin.com>,
<devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-aspeed@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>,
<linux-i3c@lists.infradead.org>
Cc: <BMC-SW@aspeedtech.com>
Subject: [PATCH 1/2] [RFC] ARM: dts: aspeed-g6: Add AST2600 I3Cs
Date: Mon, 6 May 2024 18:51:19 +0800 [thread overview]
Message-ID: <20240506105120.3028083-2-dylan_hung@aspeedtech.com> (raw)
In-Reply-To: <20240506105120.3028083-1-dylan_hung@aspeedtech.com>
The AST2600 has 6 I3Cs which are based on dw-i3c along with Aspeed
proprietary enhancements.
Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 137 ++++++++++++++++++++++++
1 file changed, 137 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
index 29f94696d8b1..d0d685747b74 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
@@ -13,6 +13,12 @@ / {
interrupt-parent = <&gic>;
aliases {
+ i3c0 = &i3c0;
+ i3c1 = &i3c1;
+ i3c2 = &i3c2;
+ i3c3 = &i3c3;
+ i3c4 = &i3c4;
+ i3c5 = &i3c5;
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
@@ -579,6 +585,13 @@ wdt4: watchdog@1e7850c0 {
status = "disabled";
};
+ i3c: bus@1e7a0000 {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x1e7a0000 0x8000>;
+ };
+
peci0: peci-controller@1e78b000 {
compatible = "aspeed,ast2600-peci";
reg = <0x1e78b000 0x100>;
@@ -1125,3 +1138,127 @@ i2c15: i2c-bus@800 {
status = "disabled";
};
};
+
+&i3c {
+ i3c_global: i3c-global {
+ compatible = "aspeed,ast2600-i3c-global", "simple-mfd", "syscon";
+ resets = <&syscon ASPEED_RESET_I3C>;
+ reg = <0x0 0x1000>;
+ };
+
+ i3c0: i3c@2000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x2000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C0CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c1_default>;
+ interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 0>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c1: i3c@3000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x3000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C1CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c2_default>;
+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 1>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c2: i3c@4000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x4000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C2CLK>;
+ interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 2>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c3: i3c@5000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x5000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C3CLK>;
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 3>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c4: i3c@6000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x6000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C4CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c5_default>;
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 4>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c5: i3c@7000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x7000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C5CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c6_default>;
+ interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 5>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+};
--
2.25.1
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
WARNING: multiple messages have this Message-ID (diff)
From: Dylan Hung <dylan_hung@aspeedtech.com>
To: <robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
<joel@jms.id.au>, <andrew@codeconstruct.com.au>,
<jk@codeconstruct.com.au>, <alexandre.belloni@bootlin.com>,
<devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-aspeed@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>,
<linux-i3c@lists.infradead.org>
Cc: <BMC-SW@aspeedtech.com>
Subject: [PATCH 1/2] [RFC] ARM: dts: aspeed-g6: Add AST2600 I3Cs
Date: Mon, 6 May 2024 18:51:19 +0800 [thread overview]
Message-ID: <20240506105120.3028083-2-dylan_hung@aspeedtech.com> (raw)
In-Reply-To: <20240506105120.3028083-1-dylan_hung@aspeedtech.com>
The AST2600 has 6 I3Cs which are based on dw-i3c along with Aspeed
proprietary enhancements.
Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 137 ++++++++++++++++++++++++
1 file changed, 137 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
index 29f94696d8b1..d0d685747b74 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
@@ -13,6 +13,12 @@ / {
interrupt-parent = <&gic>;
aliases {
+ i3c0 = &i3c0;
+ i3c1 = &i3c1;
+ i3c2 = &i3c2;
+ i3c3 = &i3c3;
+ i3c4 = &i3c4;
+ i3c5 = &i3c5;
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
@@ -579,6 +585,13 @@ wdt4: watchdog@1e7850c0 {
status = "disabled";
};
+ i3c: bus@1e7a0000 {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x1e7a0000 0x8000>;
+ };
+
peci0: peci-controller@1e78b000 {
compatible = "aspeed,ast2600-peci";
reg = <0x1e78b000 0x100>;
@@ -1125,3 +1138,127 @@ i2c15: i2c-bus@800 {
status = "disabled";
};
};
+
+&i3c {
+ i3c_global: i3c-global {
+ compatible = "aspeed,ast2600-i3c-global", "simple-mfd", "syscon";
+ resets = <&syscon ASPEED_RESET_I3C>;
+ reg = <0x0 0x1000>;
+ };
+
+ i3c0: i3c@2000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x2000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C0CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c1_default>;
+ interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 0>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c1: i3c@3000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x3000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C1CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c2_default>;
+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 1>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c2: i3c@4000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x4000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C2CLK>;
+ interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 2>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c3: i3c@5000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x5000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C3CLK>;
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 3>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c4: i3c@6000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x6000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C4CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c5_default>;
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 4>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c5: i3c@7000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x7000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C5CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c6_default>;
+ interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 5>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+};
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Dylan Hung <dylan_hung@aspeedtech.com>
To: <robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
<joel@jms.id.au>, <andrew@codeconstruct.com.au>,
<jk@codeconstruct.com.au>, <alexandre.belloni@bootlin.com>,
<devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-aspeed@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>,
<linux-i3c@lists.infradead.org>
Cc: <BMC-SW@aspeedtech.com>
Subject: [PATCH 1/2] [RFC] ARM: dts: aspeed-g6: Add AST2600 I3Cs
Date: Mon, 6 May 2024 18:51:19 +0800 [thread overview]
Message-ID: <20240506105120.3028083-2-dylan_hung@aspeedtech.com> (raw)
In-Reply-To: <20240506105120.3028083-1-dylan_hung@aspeedtech.com>
The AST2600 has 6 I3Cs which are based on dw-i3c along with Aspeed
proprietary enhancements.
Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
---
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 137 ++++++++++++++++++++++++
1 file changed, 137 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
index 29f94696d8b1..d0d685747b74 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
@@ -13,6 +13,12 @@ / {
interrupt-parent = <&gic>;
aliases {
+ i3c0 = &i3c0;
+ i3c1 = &i3c1;
+ i3c2 = &i3c2;
+ i3c3 = &i3c3;
+ i3c4 = &i3c4;
+ i3c5 = &i3c5;
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
@@ -579,6 +585,13 @@ wdt4: watchdog@1e7850c0 {
status = "disabled";
};
+ i3c: bus@1e7a0000 {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x1e7a0000 0x8000>;
+ };
+
peci0: peci-controller@1e78b000 {
compatible = "aspeed,ast2600-peci";
reg = <0x1e78b000 0x100>;
@@ -1125,3 +1138,127 @@ i2c15: i2c-bus@800 {
status = "disabled";
};
};
+
+&i3c {
+ i3c_global: i3c-global {
+ compatible = "aspeed,ast2600-i3c-global", "simple-mfd", "syscon";
+ resets = <&syscon ASPEED_RESET_I3C>;
+ reg = <0x0 0x1000>;
+ };
+
+ i3c0: i3c@2000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x2000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C0CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c1_default>;
+ interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 0>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c1: i3c@3000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x3000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C1CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c2_default>;
+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 1>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c2: i3c@4000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x4000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C2CLK>;
+ interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 2>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c3: i3c@5000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x5000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C3CLK>;
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 3>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c4: i3c@6000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x6000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C4CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c5_default>;
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 4>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+
+ i3c5: i3c@7000 {
+ compatible = "aspeed,ast2600-i3c";
+ reg = <0x7000 0x1000>;
+ clocks = <&syscon ASPEED_CLK_GATE_I3C5CLK>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i3c6_default>;
+ interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
+ aspeed,global-regs = <&i3c_global 5>;
+ status = "disabled";
+
+ i2c-scl-hz = <1000000>;
+ i3c-scl-hz = <2000000>;
+ i3c-od-scl-hi-period-ns = <380>;
+ i3c-od-scl-lo-period-ns = <620>;
+ i3c-pp-scl-hi-period-ns = <250>;
+ i3c-pp-scl-lo-period-ns = <250>;
+ sda-tx-hold-ns = <70>;
+ sda-pullup-ohms = <2000>;
+ };
+};
--
2.25.1
next prev parent reply other threads:[~2024-05-06 10:51 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-06 10:51 [PATCH 0/2] [RFC] i3c: ast2600: Add MCTP-over-I3C support Dylan Hung
2024-05-06 10:51 ` Dylan Hung
2024-05-06 10:51 ` Dylan Hung
2024-05-06 10:51 ` Dylan Hung
2024-05-06 10:51 ` Dylan Hung [this message]
2024-05-06 10:51 ` [PATCH 1/2] [RFC] ARM: dts: aspeed-g6: Add AST2600 I3Cs Dylan Hung
2024-05-06 10:51 ` Dylan Hung
2024-05-06 10:51 ` Dylan Hung
2024-05-06 10:51 ` [PATCH 2/2] [RFC] i3c: ast2600: Validate AST2600 I3C for MCTP-over-I3C Dylan Hung
2024-05-06 10:51 ` Dylan Hung
2024-05-06 10:51 ` Dylan Hung
2024-05-06 10:51 ` Dylan Hung
2024-05-06 13:46 ` [PATCH 0/2] [RFC] i3c: ast2600: Add MCTP-over-I3C support Jeremy Kerr
2024-05-06 13:46 ` Jeremy Kerr
2024-05-06 13:46 ` Jeremy Kerr
2024-05-06 13:46 ` Jeremy Kerr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240506105120.3028083-2-dylan_hung@aspeedtech.com \
--to=dylan_hung@aspeedtech.com \
--cc=linux-aspeed@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.