* [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway
@ 2023-12-03 12:39 Tim Lunn
2023-12-03 12:39 ` [PATCH v3 1/8] ARM: dts: rockchip: rv1126: Add alternate UART pins Tim Lunn
` (8 more replies)
0 siblings, 9 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:39 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn, Andi Shyti,
linux-i2c
Sonoff iHost is gateway device designed to provide a Smart Home Hub,
most notably it includes builtin radios for Wifi, BT and Zigbee, which
make it suitable SBC for use with many of the open home automation
platforms. It is availabe in two versions, first is based on
Rockchip RV1126 and 4GB DDR4 RAM. There is a second version based off
the RV1109 dual core SoC and 2GB RAM.
Features:
- Rockchip RV1126 (or RV1109)
- 4GB DDR4
- 8GB eMMC
- microSD slot
- RMII Ethernet PHY
- 1x USB 2.0 Host
- 1x USB 2.0 OTG
- Realtek RTL8723DS WiFi/BT
- EFR32MG21 Silabs Zigbee radio
- Speaker/Microphone
This patch series adds the various device tree nodes required to
support this device. It also adds the initial dts for this device,
This work was largely based off the device trees for mainline
Edgeble Neu2 and downstream Rockchip rv1126-evb-v13 configs.
It has been adapted with relevant peripherals and GPIO pins for the
iHost.
Implemented in this series are most of the core periperhals including
Ethernet, Wifi, BT, Zigbee and RTC. Sound and USB will be added in a
later series.
Changes in v3:
- i2c: add code comment and clarify commit message further
- i2c: Collect ack by Heiko
- Move ethernet alias from rv1126.dtsi to board dtsi
Changes in v2:
- i2c: clarify commit message
- Address review comments from Heiko
- Split out rv1109.dtsi to new patch
- Collect Robh Ack for dt-bindings patch
Tim Lunn (8):
ARM: dts: rockchip: rv1126: Add alternate UART pins
ARM: dts: rockchip: rv1126: Serial aliases
i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
ARM: dts: rockchip: rv1126: Add i2c2 nodes
ARM: dts: rockchip: rv1126: Split up rgmii1 pinctrl
ARM: dts: rockchip: Add rv1109 SoC
ARM: dts: Add Sonoff iHost Smart Home Hub
dt-bindings: arm: rockchip: Add Sonoff iHost
.../devicetree/bindings/arm/rockchip.yaml | 7 +
arch/arm/boot/dts/rockchip/Makefile | 2 +
.../boot/dts/rockchip/rv1109-sonoff-ihost.dts | 13 +
arch/arm/boot/dts/rockchip/rv1109.dtsi | 23 +
.../dts/rockchip/rv1126-edgeble-neu2-io.dts | 2 +-
.../arm/boot/dts/rockchip/rv1126-pinctrl.dtsi | 72 +++-
.../boot/dts/rockchip/rv1126-sonoff-ihost.dts | 13 +
.../dts/rockchip/rv1126-sonoff-ihost.dtsi | 408 ++++++++++++++++++
arch/arm/boot/dts/rockchip/rv1126.dtsi | 21 +
drivers/i2c/busses/i2c-rk3x.c | 8 +-
10 files changed, 553 insertions(+), 16 deletions(-)
create mode 100644 arch/arm/boot/dts/rockchip/rv1109-sonoff-ihost.dts
create mode 100644 arch/arm/boot/dts/rockchip/rv1109.dtsi
create mode 100644 arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dts
create mode 100644 arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 1/8] ARM: dts: rockchip: rv1126: Add alternate UART pins
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
@ 2023-12-03 12:39 ` Tim Lunn
2023-12-03 12:39 ` [PATCH v3 2/8] ARM: dts: rockchip: rv1126: Serial aliases Tim Lunn
` (7 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:39 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn
Add uart3m2_xfer and uart4m2_xfer pins for Rockchip RV1126. These are
used as serial ports for the indicator and Zigbee radio on the iHost.
Signed-off-by: Tim Lunn <tim@feathertop.org>
---
(no changes since v1)
arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi b/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
index bb34b0c9cb4a..4f85b7b3fc4c 100644
--- a/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
+++ b/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
@@ -263,6 +263,14 @@ uart3m0_xfer: uart3m0-xfer {
/* uart3_tx_m0 */
<3 RK_PC6 4 &pcfg_pull_up>;
};
+ /omit-if-no-ref/
+ uart3m2_xfer: uart3m2-xfer {
+ rockchip,pins =
+ /* uart3_rx_m2 */
+ <3 RK_PA1 4 &pcfg_pull_up>,
+ /* uart3_tx_m2 */
+ <3 RK_PA0 4 &pcfg_pull_up>;
+ };
};
uart4 {
/omit-if-no-ref/
@@ -273,6 +281,14 @@ uart4m0_xfer: uart4m0-xfer {
/* uart4_tx_m0 */
<3 RK_PA4 4 &pcfg_pull_up>;
};
+ /omit-if-no-ref/
+ uart4m2_xfer: uart4m2-xfer {
+ rockchip,pins =
+ /* uart4_rx_m2 */
+ <1 RK_PD4 3 &pcfg_pull_up>,
+ /* uart4_tx_m2 */
+ <1 RK_PD5 3 &pcfg_pull_up>;
+ };
};
uart5 {
/omit-if-no-ref/
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 2/8] ARM: dts: rockchip: rv1126: Serial aliases
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
2023-12-03 12:39 ` [PATCH v3 1/8] ARM: dts: rockchip: rv1126: Add alternate UART pins Tim Lunn
@ 2023-12-03 12:39 ` Tim Lunn
2023-12-03 12:39 ` [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 Tim Lunn
` (6 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:39 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn
Add serial aliases for uart nodes so that serial devices are created
Signed-off-by: Tim Lunn <tim@feathertop.org>
---
Changes in v3:
- Add missing serial5 alias
arch/arm/boot/dts/rockchip/rv1126.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/rockchip/rv1126.dtsi b/arch/arm/boot/dts/rockchip/rv1126.dtsi
index 9ccd1bad6229..adb11a43c5db 100644
--- a/arch/arm/boot/dts/rockchip/rv1126.dtsi
+++ b/arch/arm/boot/dts/rockchip/rv1126.dtsi
@@ -21,6 +21,12 @@ / {
aliases {
i2c0 = &i2c0;
+ serial0 = &uart0;
+ serial1 = &uart1;
+ serial2 = &uart2;
+ serial3 = &uart3;
+ serial4 = &uart4;
+ serial5 = &uart5;
};
cpus {
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
2023-12-03 12:39 ` [PATCH v3 1/8] ARM: dts: rockchip: rv1126: Add alternate UART pins Tim Lunn
2023-12-03 12:39 ` [PATCH v3 2/8] ARM: dts: rockchip: rv1126: Serial aliases Tim Lunn
@ 2023-12-03 12:39 ` Tim Lunn
2023-12-03 19:06 ` Andi Shyti
2023-12-19 17:06 ` Wolfram Sang
2023-12-03 12:40 ` [PATCH v3 4/8] ARM: dts: rockchip: rv1126: Add i2c2 nodes Tim Lunn
` (5 subsequent siblings)
8 siblings, 2 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:39 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn, Andi Shyti,
linux-i2c
Rockchip RV1126 is using old style i2c controller, the i2c2
bus uses a non-sequential offset in the grf register for the
mask/value bits for this bus.
This patch fixes i2c2 bus on rv1126 SoCs.
Signed-off-by: Tim Lunn <tim@feathertop.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
---
Changes in v3:
- i2c: add code comment and clarify commit message further
- i2c: Collect ack by Heiko
Changes in v2:
- i2c: clarify commit message
drivers/i2c/busses/i2c-rk3x.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c
index a044ca0c35a1..06fec2344575 100644
--- a/drivers/i2c/busses/i2c-rk3x.c
+++ b/drivers/i2c/busses/i2c-rk3x.c
@@ -1288,8 +1288,12 @@ static int rk3x_i2c_probe(struct platform_device *pdev)
return -EINVAL;
}
- /* 27+i: write mask, 11+i: value */
- value = BIT(27 + bus_nr) | BIT(11 + bus_nr);
+ /* rv1126 i2c2 uses non-sequential write mask 20, value 4 */
+ if (i2c->soc_data == &rv1126_soc_data && bus_nr == 2)
+ value = BIT(20) | BIT(4);
+ else
+ /* 27+i: write mask, 11+i: value */
+ value = BIT(27 + bus_nr) | BIT(11 + bus_nr);
ret = regmap_write(grf, i2c->soc_data->grf_offset, value);
if (ret != 0) {
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 4/8] ARM: dts: rockchip: rv1126: Add i2c2 nodes
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
` (2 preceding siblings ...)
2023-12-03 12:39 ` [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 Tim Lunn
@ 2023-12-03 12:40 ` Tim Lunn
2023-12-03 12:40 ` [PATCH v3 5/8] ARM: dts: rockchip: rv1126: Split up rgmii1 pinctrl Tim Lunn
` (4 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:40 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn
Add i2c2 node and i2c2_xfer pinctrl for Rockchip RV1126
Signed-off-by: Tim Lunn <tim@feathertop.org>
---
(no changes since v1)
arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi | 10 ++++++++++
arch/arm/boot/dts/rockchip/rv1126.dtsi | 15 +++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi b/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
index 4f85b7b3fc4c..167a48afa3a4 100644
--- a/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
+++ b/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
@@ -87,6 +87,16 @@ i2c0_xfer: i2c0-xfer {
<0 RK_PB5 1 &pcfg_pull_none_drv_level_0_smt>;
};
};
+ i2c2 {
+ /omit-if-no-ref/
+ i2c2_xfer: i2c2-xfer {
+ rockchip,pins =
+ /* i2c2_scl */
+ <0 RK_PC2 1 &pcfg_pull_none_drv_level_0_smt>,
+ /* i2c2_sda */
+ <0 RK_PC3 1 &pcfg_pull_none_drv_level_0_smt>;
+ };
+ };
pwm2 {
/omit-if-no-ref/
pwm2m0_pins: pwm2m0-pins {
diff --git a/arch/arm/boot/dts/rockchip/rv1126.dtsi b/arch/arm/boot/dts/rockchip/rv1126.dtsi
index adb11a43c5db..bb603cae13df 100644
--- a/arch/arm/boot/dts/rockchip/rv1126.dtsi
+++ b/arch/arm/boot/dts/rockchip/rv1126.dtsi
@@ -21,6 +21,7 @@ / {
aliases {
i2c0 = &i2c0;
+ i2c2 = &i2c2;
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
@@ -237,6 +238,20 @@ i2c0: i2c@ff3f0000 {
status = "disabled";
};
+ i2c2: i2c@ff400000 {
+ compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c";
+ reg = <0xff400000 0x1000>;
+ interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+ rockchip,grf = <&pmugrf>;
+ clocks = <&pmucru CLK_I2C2>, <&pmucru PCLK_I2C2>;
+ clock-names = "i2c", "pclk";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_xfer>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
uart1: serial@ff410000 {
compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart";
reg = <0xff410000 0x100>;
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 5/8] ARM: dts: rockchip: rv1126: Split up rgmii1 pinctrl
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
` (3 preceding siblings ...)
2023-12-03 12:40 ` [PATCH v3 4/8] ARM: dts: rockchip: rv1126: Add i2c2 nodes Tim Lunn
@ 2023-12-03 12:40 ` Tim Lunn
2023-12-03 12:40 ` [PATCH v3 6/8] ARM: dts: rockchip: Add rv1109 SoC Tim Lunn
` (3 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:40 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn
Split up the pinctrl definitions for rgmii1 so it can be shared
with devices using an RMII PHY.
Signed-off-by: Tim Lunn <tim@feathertop.org>
---
(no changes since v1)
.../dts/rockchip/rv1126-edgeble-neu2-io.dts | 2 +-
.../arm/boot/dts/rockchip/rv1126-pinctrl.dtsi | 46 +++++++++++++------
2 files changed, 34 insertions(+), 14 deletions(-)
diff --git a/arch/arm/boot/dts/rockchip/rv1126-edgeble-neu2-io.dts b/arch/arm/boot/dts/rockchip/rv1126-edgeble-neu2-io.dts
index f09be8405964..0c2396b8f8db 100644
--- a/arch/arm/boot/dts/rockchip/rv1126-edgeble-neu2-io.dts
+++ b/arch/arm/boot/dts/rockchip/rv1126-edgeble-neu2-io.dts
@@ -61,7 +61,7 @@ &gmac {
phy-mode = "rgmii";
phy-supply = <&vcc_3v3>;
pinctrl-names = "default";
- pinctrl-0 = <&rgmiim1_pins &clk_out_ethernetm1_pins>;
+ pinctrl-0 = <&rgmiim1_miim &rgmiim1_bus2 &rgmiim1_bus4 &clk_out_ethernetm1_pins>;
tx_delay = <0x2a>;
rx_delay = <0x1a>;
status = "okay";
diff --git a/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi b/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
index 167a48afa3a4..06b1d7f2d858 100644
--- a/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
+++ b/arch/arm/boot/dts/rockchip/rv1126-pinctrl.dtsi
@@ -115,36 +115,56 @@ pwm11m0_pins: pwm11m0-pins {
};
rgmii {
/omit-if-no-ref/
- rgmiim1_pins: rgmiim1-pins {
+ rgmiim1_miim: rgmiim1-miim {
rockchip,pins =
/* rgmii_mdc_m1 */
<2 RK_PC2 2 &pcfg_pull_none>,
/* rgmii_mdio_m1 */
- <2 RK_PC1 2 &pcfg_pull_none>,
- /* rgmii_rxclk_m1 */
- <2 RK_PD3 2 &pcfg_pull_none>,
+ <2 RK_PC1 2 &pcfg_pull_none>;
+ };
+ /omit-if-no-ref/
+ rgmiim1_rxer: rgmiim1-rxer {
+ rockchip,pins =
+ /* rgmii_rxer_m1 */
+ <2 RK_PC0 2 &pcfg_pull_none>;
+ };
+ /omit-if-no-ref/
+ rgmiim1_bus2: rgmiim1-bus2 {
+ rockchip,pins =
/* rgmii_rxd0_m1 */
<2 RK_PB5 2 &pcfg_pull_none>,
/* rgmii_rxd1_m1 */
<2 RK_PB6 2 &pcfg_pull_none>,
- /* rgmii_rxd2_m1 */
- <2 RK_PC7 2 &pcfg_pull_none>,
- /* rgmii_rxd3_m1 */
- <2 RK_PD0 2 &pcfg_pull_none>,
/* rgmii_rxdv_m1 */
<2 RK_PB4 2 &pcfg_pull_none>,
- /* rgmii_txclk_m1 */
- <2 RK_PD2 2 &pcfg_pull_none_drv_level_3>,
/* rgmii_txd0_m1 */
<2 RK_PC3 2 &pcfg_pull_none_drv_level_3>,
/* rgmii_txd1_m1 */
<2 RK_PC4 2 &pcfg_pull_none_drv_level_3>,
+ /* rgmii_txen_m1 */
+ <2 RK_PC6 2 &pcfg_pull_none_drv_level_3>;
+ };
+ /omit-if-no-ref/
+ rgmiim1_bus4: rgmiim1-bus4 {
+ rockchip,pins =
+ /* rgmii_rxclk_m1 */
+ <2 RK_PD3 2 &pcfg_pull_none>,
+ /* rgmii_rxd2_m1 */
+ <2 RK_PC7 2 &pcfg_pull_none>,
+ /* rgmii_rxd3_m1 */
+ <2 RK_PD0 2 &pcfg_pull_none>,
+ /* rgmii_txclk_m1 */
+ <2 RK_PD2 2 &pcfg_pull_none_drv_level_3>,
/* rgmii_txd2_m1 */
<2 RK_PD1 2 &pcfg_pull_none_drv_level_3>,
/* rgmii_txd3_m1 */
- <2 RK_PA4 2 &pcfg_pull_none_drv_level_3>,
- /* rgmii_txen_m1 */
- <2 RK_PC6 2 &pcfg_pull_none_drv_level_3>;
+ <2 RK_PA4 2 &pcfg_pull_none_drv_level_3>;
+ };
+ /omit-if-no-ref/
+ rgmiim1_mclkinout: rgmiim1-mclkinout {
+ rockchip,pins =
+ /* rgmii_clk_m1 */
+ <2 RK_PB7 2 &pcfg_pull_none>;
};
};
sdmmc0 {
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 6/8] ARM: dts: rockchip: Add rv1109 SoC
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
` (4 preceding siblings ...)
2023-12-03 12:40 ` [PATCH v3 5/8] ARM: dts: rockchip: rv1126: Split up rgmii1 pinctrl Tim Lunn
@ 2023-12-03 12:40 ` Tim Lunn
2023-12-03 12:40 ` [PATCH v3 7/8] ARM: dts: Add Sonoff iHost Smart Home Hub Tim Lunn
` (2 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:40 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn
The Rockchip rv1109 SoC is a dual core version of the rv1126. It is
otherwise identical and shares the same device tree config.
This patch introduces a dtsi file to drop the additional cpu nodes.
Taken from Rockchip BSP kernel.
Signed-off-by: Tim Lunn <tim@feathertop.org>
---
(no changes since v2)
Changes in v2:
- new patch
arch/arm/boot/dts/rockchip/rv1109.dtsi | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 arch/arm/boot/dts/rockchip/rv1109.dtsi
diff --git a/arch/arm/boot/dts/rockchip/rv1109.dtsi b/arch/arm/boot/dts/rockchip/rv1109.dtsi
new file mode 100644
index 000000000000..9cbaa08ab1b8
--- /dev/null
+++ b/arch/arm/boot/dts/rockchip/rv1109.dtsi
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd.
+ */
+
+/dts-v1/;
+
+#include "rv1126.dtsi"
+
+/ {
+ compatible = "rockchip,rv1109";
+
+ cpus {
+ /delete-node/ cpu@f02;
+ /delete-node/ cpu@f03;
+ };
+
+ arm-pmu {
+ interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-affinity = <&cpu0>, <&cpu1>;
+ };
+};
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 7/8] ARM: dts: Add Sonoff iHost Smart Home Hub
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
` (5 preceding siblings ...)
2023-12-03 12:40 ` [PATCH v3 6/8] ARM: dts: rockchip: Add rv1109 SoC Tim Lunn
@ 2023-12-03 12:40 ` Tim Lunn
2023-12-03 12:40 ` [PATCH v3 8/8] dt-bindings: arm: rockchip: Add Sonoff iHost Tim Lunn
2023-12-05 0:06 ` (subset) [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Heiko Stuebner
8 siblings, 0 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:40 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn
Sonoff iHost is gateway device designed to provide a Smart Home Hub,
it is based on Rockchip RV1126. There is also a version with 2GB RAM
based off the RV1109 dual core SoC.
Features:
- Rockchip RV1126
- 4GB DDR4
- 8GB eMMC
- microSD slot
- RMII Ethernet PHY
- 1x USB 2.0 Host
- 1x USB 2.0 OTG
- Realtek RTL8723DS WiFi/BT
- EFR32MG21 Silabs Zigbee radio
- Speaker/Microphone
This patch adds the initial device tree for this device, it is largely
based off the device trees for mainline Edgeble Neu2 and downstream
Rockchip rv1126-evb-v13 configs. It has been adapted with relevant
peripheral and GPIO pins for the iHost.
Signed-off-by: Tim Lunn <tim@feathertop.org>
---
Changes in v3:
- Move ethernet alias from rv1126.dtsi to board dtsi
Changes in v2:
- Address review comments from Heiko
- Split out rv1109.dtsi to new patch
arch/arm/boot/dts/rockchip/Makefile | 2 +
.../boot/dts/rockchip/rv1109-sonoff-ihost.dts | 13 +
.../boot/dts/rockchip/rv1126-sonoff-ihost.dts | 13 +
.../dts/rockchip/rv1126-sonoff-ihost.dtsi | 408 ++++++++++++++++++
4 files changed, 436 insertions(+)
create mode 100644 arch/arm/boot/dts/rockchip/rv1109-sonoff-ihost.dts
create mode 100644 arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dts
create mode 100644 arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi
diff --git a/arch/arm/boot/dts/rockchip/Makefile b/arch/arm/boot/dts/rockchip/Makefile
index 0f46e18fe275..4d4533d6f407 100644
--- a/arch/arm/boot/dts/rockchip/Makefile
+++ b/arch/arm/boot/dts/rockchip/Makefile
@@ -2,7 +2,9 @@
dtb-$(CONFIG_ARCH_ROCKCHIP) += \
rv1108-elgin-r1.dtb \
rv1108-evb.dtb \
+ rv1109-sonoff-ihost.dtb \
rv1126-edgeble-neu2-io.dtb \
+ rv1126-sonoff-ihost.dtb \
rk3036-evb.dtb \
rk3036-kylin.dtb \
rk3066a-bqcurie2.dtb \
diff --git a/arch/arm/boot/dts/rockchip/rv1109-sonoff-ihost.dts b/arch/arm/boot/dts/rockchip/rv1109-sonoff-ihost.dts
new file mode 100644
index 000000000000..3bfdb00ac8e1
--- /dev/null
+++ b/arch/arm/boot/dts/rockchip/rv1109-sonoff-ihost.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
+ */
+
+/dts-v1/;
+#include "rv1109.dtsi"
+#include "rv1126-sonoff-ihost.dtsi"
+
+/ {
+ model = "Sonoff iHost 2G";
+ compatible = "itead,sonoff-ihost", "rockchip,rv1109";
+};
diff --git a/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dts b/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dts
new file mode 100644
index 000000000000..106d1e42f285
--- /dev/null
+++ b/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
+ */
+
+/dts-v1/;
+#include "rv1126.dtsi"
+#include "rv1126-sonoff-ihost.dtsi"
+
+/ {
+ model = "Sonoff iHost 4G";
+ compatible = "itead,sonoff-ihost", "rockchip,rv1126";
+};
diff --git a/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi b/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi
new file mode 100644
index 000000000000..543b4ec8d244
--- /dev/null
+++ b/arch/arm/boot/dts/rockchip/rv1126-sonoff-ihost.dtsi
@@ -0,0 +1,408 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
+ * Copyright (c) 2022 Edgeble AI Technologies Pvt. Ltd.
+ */
+
+/ {
+ aliases {
+ ethernet0 = &gmac;
+ mmc0 = &emmc;
+ };
+
+ chosen {
+ stdout-path = "serial2:1500000n8";
+ };
+
+ vcc5v0_sys: regulator-vcc5v0-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc5v0_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ sdio_pwrseq: pwrseq-sdio {
+ compatible = "mmc-pwrseq-simple";
+ clocks = <&rk809 1>;
+ clock-names = "ext_clock";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable_h>;
+ reset-gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&cpu0 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&emmc {
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ mmc-hs200-1_8v;
+ non-removable;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk &emmc_rstnout>;
+ rockchip,default-sample-phase = <90>;
+ vmmc-supply = <&vcc_3v3>;
+ vqmmc-supply = <&vcc_1v8>;
+ status = "okay";
+};
+
+&i2c0 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ rk809: pmic@20 {
+ compatible = "rockchip,rk809";
+ reg = <0x20>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <RK_PB1 IRQ_TYPE_LEVEL_LOW>;
+ #clock-cells = <1>;
+ clock-output-names = "rk808-clkout1", "rk808-clkout2";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_int_l>;
+ rockchip,system-power-controller;
+ wakeup-source;
+
+ vcc1-supply = <&vcc5v0_sys>;
+ vcc2-supply = <&vcc5v0_sys>;
+ vcc3-supply = <&vcc5v0_sys>;
+ vcc4-supply = <&vcc5v0_sys>;
+ vcc5-supply = <&vcc_buck5>;
+ vcc6-supply = <&vcc_buck5>;
+ vcc7-supply = <&vcc5v0_sys>;
+ vcc8-supply = <&vcc3v3_sys>;
+ vcc9-supply = <&vcc5v0_sys>;
+
+ regulators {
+ vdd_npu_vepu: DCDC_REG1 {
+ regulator-name = "vdd_npu_vepu";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-initial-mode = <0x2>;
+ regulator-min-microvolt = <650000>;
+ regulator-max-microvolt = <950000>;
+ regulator-ramp-delay = <6001>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vdd_arm: DCDC_REG2 {
+ regulator-name = "vdd_arm";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-initial-mode = <0x2>;
+ regulator-min-microvolt = <725000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-ramp-delay = <6001>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc_ddr: DCDC_REG3 {
+ regulator-name = "vcc_ddr";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-initial-mode = <0x2>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ };
+ };
+
+ vcc3v3_sys: DCDC_REG4 {
+ regulator-name = "vcc3v3_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-initial-mode = <0x2>;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ };
+ };
+
+ vcc_buck5: DCDC_REG5 {
+ regulator-name = "vcc_buck5";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <2200000>;
+ regulator-max-microvolt = <2200000>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <2200000>;
+ };
+ };
+
+ vcc_0v8: LDO_REG1 {
+ regulator-name = "vcc_0v8";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <800000>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc1v8_pmu: LDO_REG2 {
+ regulator-name = "vcc1v8_pmu";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vdd0v8_pmu: LDO_REG3 {
+ regulator-name = "vcc0v8_pmu";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <800000>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <800000>;
+ };
+ };
+
+ vcc_1v8: LDO_REG4 {
+ regulator-name = "vcc_1v8";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vcc_dovdd: LDO_REG5 {
+ regulator-name = "vcc_dovdd";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc_dvdd: LDO_REG6 {
+ regulator-name = "vcc_dvdd";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc_avdd: LDO_REG7 {
+ regulator-name = "vcc_avdd";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vccio_sd: LDO_REG8 {
+ regulator-name = "vccio_sd";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc3v3_sd: LDO_REG9 {
+ regulator-name = "vcc3v3_sd";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ vcc_5v0: SWITCH_REG1 {
+ regulator-name = "vcc_5v0";
+ };
+
+ vcc_3v3: SWITCH_REG2 {
+ regulator-name = "vcc_3v3";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
+ };
+};
+
+&i2c2 {
+ status = "okay";
+ clock-frequency = <400000>;
+
+ pcf8563: rtc@51 {
+ compatible = "nxp,pcf8563";
+ reg = <0x51>;
+ #clock-cells = <0>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
+ clock-output-names = "xin32k";
+ };
+};
+
+&gmac {
+ assigned-clocks = <&cru CLK_GMAC_SRC_M1>, <&cru CLK_GMAC_SRC>,
+ <&cru CLK_GMAC_TX_RX>;
+ assigned-clock-parents = <&cru CLK_GMAC_RGMII_M1>, <&cru CLK_GMAC_SRC_M1>,
+ <&cru RMII_MODE_CLK>;
+ assigned-clock-rates = <0>, <50000000>;
+ clock_in_out = "output";
+ phy-handle = <&phy>;
+ phy-mode = "rmii";
+ phy-supply = <&vcc_3v3>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmiim1_miim &rgmiim1_rxer &rgmiim1_bus2 &rgmiim1_mclkinout>;
+ status = "okay";
+};
+
+&mdio {
+ phy: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0x0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <ð_phy_rst>;
+ reset-active-low;
+ reset-assert-us = <50000>;
+ reset-deassert-us = <10000>;
+ reset-gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&pinctrl {
+ ethernet {
+ eth_phy_rst: eth-phy-rst {
+ rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_down>;
+ };
+ };
+ bt {
+ bt_enable: bt-enable {
+ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+
+ bt_wake_dev: bt-wake-dev {
+ rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+
+ bt_wake_host: bt-wake-host {
+ rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ pmic {
+ pmic_int_l: pmic-int-l {
+ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ wifi {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};
+
+&pmu_io_domains {
+ pmuio0-supply = <&vcc1v8_pmu>;
+ pmuio1-supply = <&vcc3v3_sys>;
+ vccio1-supply = <&vcc_1v8>;
+ vccio2-supply = <&vccio_sd>;
+ vccio3-supply = <&vcc_1v8>;
+ vccio4-supply = <&vcc_dovdd>;
+ vccio5-supply = <&vcc_1v8>;
+ vccio6-supply = <&vcc_1v8>;
+ vccio7-supply = <&vcc_dovdd>;
+ status = "okay";
+};
+
+&saradc {
+ vref-supply = <&vcc_1v8>;
+ status = "okay";
+};
+
+&sdio {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ keep-power-in-suspend;
+ max-frequency = <100000000>;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ non-removable;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc1_clk &sdmmc1_cmd &sdmmc1_bus4>;
+ rockchip,default-sample-phase = <90>;
+ sd-uhs-sdr104;
+ vmmc-supply = <&vcc3v3_sys>;
+ vqmmc-supply = <&vcc_1v8>;
+ status = "okay";
+};
+
+&sdmmc {
+ bus-width = <4>;
+ cap-mmc-highspeed;
+ cap-sd-highspeed;
+ card-detect-delay = <200>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_bus4 &sdmmc0_det>;
+ rockchip,default-sample-phase = <90>;
+ sd-uhs-sdr12;
+ sd-uhs-sdr25;
+ sd-uhs-sdr104;
+ vqmmc-supply = <&vccio_sd>;
+ status = "okay";
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_xfer &uart0_ctsn &uart0_rtsn>;
+ uart-has-rtscts;
+ status = "okay";
+
+ bluetooth {
+ compatible = "realtek,rtl8723ds-bt";
+ device-wake-gpios = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>; /* BT_WAKE */
+ enable-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; /* BT_RST */
+ host-wake-gpios = <&gpio1 RK_PC5 GPIO_ACTIVE_HIGH>; /* BT_WAKE_HOST */
+ max-speed = <2000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&bt_enable>, <&bt_wake_dev>, <&bt_wake_host>;
+ };
+};
+
+&uart2 {
+ status = "okay";
+};
+
+&uart3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart3m2_xfer>;
+ status = "okay";
+};
+
+&uart4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart4m2_xfer>;
+ status = "okay";
+};
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 8/8] dt-bindings: arm: rockchip: Add Sonoff iHost
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
` (6 preceding siblings ...)
2023-12-03 12:40 ` [PATCH v3 7/8] ARM: dts: Add Sonoff iHost Smart Home Hub Tim Lunn
@ 2023-12-03 12:40 ` Tim Lunn
2023-12-05 0:06 ` (subset) [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Heiko Stuebner
8 siblings, 0 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-03 12:40 UTC (permalink / raw)
To: linux-rockchip, devicetree
Cc: Jagan Teki, Conor Dooley, linux-arm-kernel, Rob Herring,
Heiko Stuebner, Krzysztof Kozlowski, Tim Lunn, Rob Herring
Sonoff iHost is a smart home hub with built in radios for wifi/bt
and Zigbee. It is based off the Rockchip RV1126 (or RV1109) SoC.
Signed-off-by: Tim Lunn <tim@feathertop.org>
Acked-by: Rob Herring <robh@kernel.org>
---
(no changes since v2)
Changes in v2:
- Collect Robh Ack for dt-bindings patch
Documentation/devicetree/bindings/arm/rockchip.yaml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
index 5f7c6c4aad8f..a26bbcd00deb 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
@@ -922,6 +922,13 @@ properties:
- const: rockchip,rk3568-bpi-r2pro
- const: rockchip,rk3568
+ - description: Sonoff iHost Smart Home Hub
+ items:
+ - const: itead,sonoff-ihost
+ - enum:
+ - rockchip,rv1126
+ - rockchip,rv1109
+
additionalProperties: true
...
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-03 12:39 ` [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 Tim Lunn
@ 2023-12-03 19:06 ` Andi Shyti
2023-12-03 19:48 ` Heiko Stübner
2023-12-19 17:06 ` Wolfram Sang
1 sibling, 1 reply; 18+ messages in thread
From: Andi Shyti @ 2023-12-03 19:06 UTC (permalink / raw)
To: Tim Lunn
Cc: linux-rockchip, devicetree, Jagan Teki, Conor Dooley,
linux-arm-kernel, Rob Herring, Heiko Stuebner,
Krzysztof Kozlowski, linux-i2c
Hi Tim,
On Sun, Dec 03, 2023 at 11:39:59PM +1100, Tim Lunn wrote:
> Rockchip RV1126 is using old style i2c controller, the i2c2
> bus uses a non-sequential offset in the grf register for the
> mask/value bits for this bus.
>
> This patch fixes i2c2 bus on rv1126 SoCs.
>
> Signed-off-by: Tim Lunn <tim@feathertop.org>
> Acked-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Thanks,
Andi
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-03 19:06 ` Andi Shyti
@ 2023-12-03 19:48 ` Heiko Stübner
2023-12-03 21:55 ` Andi Shyti
0 siblings, 1 reply; 18+ messages in thread
From: Heiko Stübner @ 2023-12-03 19:48 UTC (permalink / raw)
To: Tim Lunn, Andi Shyti
Cc: linux-rockchip, devicetree, Jagan Teki, Conor Dooley,
linux-arm-kernel, Rob Herring, Krzysztof Kozlowski, linux-i2c
Hi Andi,
Am Sonntag, 3. Dezember 2023, 20:06:20 CET schrieb Andi Shyti:
> Hi Tim,
>
> On Sun, Dec 03, 2023 at 11:39:59PM +1100, Tim Lunn wrote:
> > Rockchip RV1126 is using old style i2c controller, the i2c2
> > bus uses a non-sequential offset in the grf register for the
> > mask/value bits for this bus.
> >
> > This patch fixes i2c2 bus on rv1126 SoCs.
> >
> > Signed-off-by: Tim Lunn <tim@feathertop.org>
> > Acked-by: Heiko Stuebner <heiko@sntech.de>
>
> Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
you're listed as the maintainer for the i2c busses,
are you going to pick this one patch yourself?
Or do you expect a different handling?
I.e. it doesn't really tie into the dts patches and everything will come
together nicely in linux-next and during the next merge-window.
Thanks
Heiko
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-03 19:48 ` Heiko Stübner
@ 2023-12-03 21:55 ` Andi Shyti
2023-12-04 11:36 ` Heiko Stübner
0 siblings, 1 reply; 18+ messages in thread
From: Andi Shyti @ 2023-12-03 21:55 UTC (permalink / raw)
To: Heiko Stübner, Wolfram Sang
Cc: Tim Lunn, linux-rockchip, devicetree, Jagan Teki, Conor Dooley,
linux-arm-kernel, Rob Herring, Krzysztof Kozlowski, linux-i2c
Hi,
On Sun, Dec 03, 2023 at 08:48:43PM +0100, Heiko Stübner wrote:
> Hi Andi,
>
> Am Sonntag, 3. Dezember 2023, 20:06:20 CET schrieb Andi Shyti:
> > Hi Tim,
> >
> > On Sun, Dec 03, 2023 at 11:39:59PM +1100, Tim Lunn wrote:
> > > Rockchip RV1126 is using old style i2c controller, the i2c2
> > > bus uses a non-sequential offset in the grf register for the
> > > mask/value bits for this bus.
> > >
> > > This patch fixes i2c2 bus on rv1126 SoCs.
> > >
> > > Signed-off-by: Tim Lunn <tim@feathertop.org>
> > > Acked-by: Heiko Stuebner <heiko@sntech.de>
> >
> > Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
>
> you're listed as the maintainer for the i2c busses,
> are you going to pick this one patch yourself?
> Or do you expect a different handling?
>
> I.e. it doesn't really tie into the dts patches and everything will come
> together nicely in linux-next and during the next merge-window.
Wolfram are you going to take this?
Andi
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-03 21:55 ` Andi Shyti
@ 2023-12-04 11:36 ` Heiko Stübner
2023-12-05 1:08 ` Andi Shyti
0 siblings, 1 reply; 18+ messages in thread
From: Heiko Stübner @ 2023-12-04 11:36 UTC (permalink / raw)
To: Wolfram Sang, Andi Shyti
Cc: Tim Lunn, linux-rockchip, devicetree, Jagan Teki, Conor Dooley,
linux-arm-kernel, Rob Herring, Krzysztof Kozlowski, linux-i2c
Am Sonntag, 3. Dezember 2023, 22:55:30 CET schrieb Andi Shyti:
> Hi,
>
> On Sun, Dec 03, 2023 at 08:48:43PM +0100, Heiko Stübner wrote:
> > Hi Andi,
> >
> > Am Sonntag, 3. Dezember 2023, 20:06:20 CET schrieb Andi Shyti:
> > > Hi Tim,
> > >
> > > On Sun, Dec 03, 2023 at 11:39:59PM +1100, Tim Lunn wrote:
> > > > Rockchip RV1126 is using old style i2c controller, the i2c2
> > > > bus uses a non-sequential offset in the grf register for the
> > > > mask/value bits for this bus.
> > > >
> > > > This patch fixes i2c2 bus on rv1126 SoCs.
> > > >
> > > > Signed-off-by: Tim Lunn <tim@feathertop.org>
> > > > Acked-by: Heiko Stuebner <heiko@sntech.de>
> > >
> > > Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
> >
> > you're listed as the maintainer for the i2c busses,
> > are you going to pick this one patch yourself?
> > Or do you expect a different handling?
> >
> > I.e. it doesn't really tie into the dts patches and everything will come
> > together nicely in linux-next and during the next merge-window.
>
> Wolfram are you going to take this?
I was going by get_maintainer.pl showing
Andi Shyti <andi.shyti@kernel.org> (maintainer:I2C SUBSYSTEM HOST DRIVERS)
hence the question :-)
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: (subset) [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
` (7 preceding siblings ...)
2023-12-03 12:40 ` [PATCH v3 8/8] dt-bindings: arm: rockchip: Add Sonoff iHost Tim Lunn
@ 2023-12-05 0:06 ` Heiko Stuebner
8 siblings, 0 replies; 18+ messages in thread
From: Heiko Stuebner @ 2023-12-05 0:06 UTC (permalink / raw)
To: Tim Lunn, linux-rockchip, devicetree
Cc: Heiko Stuebner, linux-arm-kernel, Andi Shyti, Jagan Teki,
Conor Dooley, Rob Herring, linux-i2c, Krzysztof Kozlowski
On Sun, 3 Dec 2023 23:39:56 +1100, Tim Lunn wrote:
> Sonoff iHost is gateway device designed to provide a Smart Home Hub,
> most notably it includes builtin radios for Wifi, BT and Zigbee, which
> make it suitable SBC for use with many of the open home automation
> platforms. It is availabe in two versions, first is based on
> Rockchip RV1126 and 4GB DDR4 RAM. There is a second version based off
> the RV1109 dual core SoC and 2GB RAM.
>
> [...]
Applied, thanks!
[1/8] ARM: dts: rockchip: rv1126: Add alternate UART pins
commit: 86fd29b0329c95d4136a5dcef555287a0be8a038
[2/8] ARM: dts: rockchip: rv1126: Serial aliases
commit: 30250a587bddb5265bceb9f8397c459f5cc04e0c
[4/8] ARM: dts: rockchip: rv1126: Add i2c2 nodes
commit: 655ff5d45dc9de5e67c839af4baf47eaffed348f
[5/8] ARM: dts: rockchip: rv1126: Split up rgmii1 pinctrl
commit: d3bab19c83c7ce24e89d9f08f09e596c39b14658
[6/8] ARM: dts: rockchip: Add rv1109 SoC
commit: bd6f1b13b972caebf54be1fb3bc2eb9f47de9d63
[7/8] ARM: dts: Add Sonoff iHost Smart Home Hub
commit: 0f385eea8157bcb36d30d9f96105251465bc6684
[8/8] dt-bindings: arm: rockchip: Add Sonoff iHost
commit: 98feed126e7dcae617af3b0e76f50160806e3233
Best regards,
--
Heiko Stuebner <heiko@sntech.de>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-04 11:36 ` Heiko Stübner
@ 2023-12-05 1:08 ` Andi Shyti
0 siblings, 0 replies; 18+ messages in thread
From: Andi Shyti @ 2023-12-05 1:08 UTC (permalink / raw)
To: Heiko Stübner
Cc: Wolfram Sang, Tim Lunn, linux-rockchip, devicetree, Jagan Teki,
Conor Dooley, linux-arm-kernel, Rob Herring, Krzysztof Kozlowski,
linux-i2c
Hi Heiko,
On Mon, Dec 04, 2023 at 12:36:43PM +0100, Heiko Stübner wrote:
> Am Sonntag, 3. Dezember 2023, 22:55:30 CET schrieb Andi Shyti:
> > On Sun, Dec 03, 2023 at 08:48:43PM +0100, Heiko Stübner wrote:
> > > Am Sonntag, 3. Dezember 2023, 20:06:20 CET schrieb Andi Shyti:
> > > > On Sun, Dec 03, 2023 at 11:39:59PM +1100, Tim Lunn wrote:
> > > > > Rockchip RV1126 is using old style i2c controller, the i2c2
> > > > > bus uses a non-sequential offset in the grf register for the
> > > > > mask/value bits for this bus.
> > > > >
> > > > > This patch fixes i2c2 bus on rv1126 SoCs.
> > > > >
> > > > > Signed-off-by: Tim Lunn <tim@feathertop.org>
> > > > > Acked-by: Heiko Stuebner <heiko@sntech.de>
> > > >
> > > > Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
> > >
> > > you're listed as the maintainer for the i2c busses,
> > > are you going to pick this one patch yourself?
> > > Or do you expect a different handling?
> > >
> > > I.e. it doesn't really tie into the dts patches and everything will come
> > > together nicely in linux-next and during the next merge-window.
> >
> > Wolfram are you going to take this?
>
> I was going by get_maintainer.pl showing
> Andi Shyti <andi.shyti@kernel.org> (maintainer:I2C SUBSYSTEM HOST DRIVERS)
>
> hence the question :-)
Ack, patch 3 we will take it through i2c.
Thanks,
Andi
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-03 12:39 ` [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 Tim Lunn
2023-12-03 19:06 ` Andi Shyti
@ 2023-12-19 17:06 ` Wolfram Sang
2023-12-19 22:40 ` Tim Lunn
2023-12-19 22:53 ` Heiko Stübner
1 sibling, 2 replies; 18+ messages in thread
From: Wolfram Sang @ 2023-12-19 17:06 UTC (permalink / raw)
To: Tim Lunn
Cc: linux-rockchip, devicetree, Jagan Teki, Conor Dooley,
linux-arm-kernel, Rob Herring, Heiko Stuebner,
Krzysztof Kozlowski, Andi Shyti, linux-i2c
[-- Attachment #1.1: Type: text/plain, Size: 533 bytes --]
On Sun, Dec 03, 2023 at 11:39:59PM +1100, Tim Lunn wrote:
> Rockchip RV1126 is using old style i2c controller, the i2c2
> bus uses a non-sequential offset in the grf register for the
> mask/value bits for this bus.
>
> This patch fixes i2c2 bus on rv1126 SoCs.
>
> Signed-off-by: Tim Lunn <tim@feathertop.org>
> Acked-by: Heiko Stuebner <heiko@sntech.de>
>
Applied to for-next, thanks!
But, phew, the fact that this driver _needs_ i2c-aliases in DT should be
fixed somewhen. I totally overlooked this so far :/
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-19 17:06 ` Wolfram Sang
@ 2023-12-19 22:40 ` Tim Lunn
2023-12-19 22:53 ` Heiko Stübner
1 sibling, 0 replies; 18+ messages in thread
From: Tim Lunn @ 2023-12-19 22:40 UTC (permalink / raw)
To: Wolfram Sang, linux-rockchip, devicetree, Jagan Teki,
Conor Dooley, linux-arm-kernel, Rob Herring, Heiko Stuebner,
Krzysztof Kozlowski, Andi Shyti, linux-i2c
Hi Wolfram,
On 12/20/23 04:06, Wolfram Sang wrote:
> On Sun, Dec 03, 2023 at 11:39:59PM +1100, Tim Lunn wrote:
>> Rockchip RV1126 is using old style i2c controller, the i2c2
>> bus uses a non-sequential offset in the grf register for the
>> mask/value bits for this bus.
>>
>> This patch fixes i2c2 bus on rv1126 SoCs.
>>
>> Signed-off-by: Tim Lunn <tim@feathertop.org>
>> Acked-by: Heiko Stuebner <heiko@sntech.de>
>>
> Applied to for-next, thanks!
Thanks.
> But, phew, the fact that this driver _needs_ i2c-aliases in DT should be
> fixed somewhen. I totally overlooked this so far :/
>
Not sure what you mean here? I did add an alias for i2c2 in the DT in
another patch.
Regards
Tim
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
2023-12-19 17:06 ` Wolfram Sang
2023-12-19 22:40 ` Tim Lunn
@ 2023-12-19 22:53 ` Heiko Stübner
1 sibling, 0 replies; 18+ messages in thread
From: Heiko Stübner @ 2023-12-19 22:53 UTC (permalink / raw)
To: Wolfram Sang, Tim Lunn, linux-rockchip, devicetree, Jagan Teki,
Conor Dooley, linux-arm-kernel, Rob Herring, Heiko Stuebner,
Krzysztof Kozlowski, Andi Shyti, linux-i2c
Hi Wolfram,
Am Dienstag, 19. Dezember 2023, 18:06:26 CET schrieb Wolfram Sang:
> On Sun, Dec 03, 2023 at 11:39:59PM +1100, Tim Lunn wrote:
> > Rockchip RV1126 is using old style i2c controller, the i2c2
> > bus uses a non-sequential offset in the grf register for the
> > mask/value bits for this bus.
> >
> > This patch fixes i2c2 bus on rv1126 SoCs.
> >
> > Signed-off-by: Tim Lunn <tim@feathertop.org>
> > Acked-by: Heiko Stuebner <heiko@sntech.de>
> >
>
> Applied to for-next, thanks!
>
> But, phew, the fact that this driver _needs_ i2c-aliases in DT should be
> fixed somewhen. I totally overlooked this so far :/
Yeah, relying on aliases for this is probably not the most elegant thing
to do ;-)
Though right now I don't see the perfect way to change that.
Options I can think of, could be:
(1) As this really is "just" a thing for older socs that offer both a very
legacy i2c and the more modern one we use, I guess one possibility
would be to move this completely out of the i2c driver and into the
"grf-cleanup" driver [0].
We never actually implemented the "old"-style i2c driver for rk29xx
and earlier - and that thing is more than 10 years old now, so noone ever
will. So we always want to switch to the new one anyway in the kernel.
(2) The other option would be to try to identify the busses by their
address. We do this in some places, like the dsi driver [1]
with the entry matched against the reg property.
I guess from a "being done with it" perspective, the first option
would be nicer ;-) .
Thoughts?
Heiko
[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/soc/rockchip/grf.c
That code does a number of settings the in the "General Register Files"
that we simply expect, so also doing the i2c controller switch there
for all i2c busses in one go would make sense.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c#n1586
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2023-12-19 22:53 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-03 12:39 [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
2023-12-03 12:39 ` [PATCH v3 1/8] ARM: dts: rockchip: rv1126: Add alternate UART pins Tim Lunn
2023-12-03 12:39 ` [PATCH v3 2/8] ARM: dts: rockchip: rv1126: Serial aliases Tim Lunn
2023-12-03 12:39 ` [PATCH v3 3/8] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 Tim Lunn
2023-12-03 19:06 ` Andi Shyti
2023-12-03 19:48 ` Heiko Stübner
2023-12-03 21:55 ` Andi Shyti
2023-12-04 11:36 ` Heiko Stübner
2023-12-05 1:08 ` Andi Shyti
2023-12-19 17:06 ` Wolfram Sang
2023-12-19 22:40 ` Tim Lunn
2023-12-19 22:53 ` Heiko Stübner
2023-12-03 12:40 ` [PATCH v3 4/8] ARM: dts: rockchip: rv1126: Add i2c2 nodes Tim Lunn
2023-12-03 12:40 ` [PATCH v3 5/8] ARM: dts: rockchip: rv1126: Split up rgmii1 pinctrl Tim Lunn
2023-12-03 12:40 ` [PATCH v3 6/8] ARM: dts: rockchip: Add rv1109 SoC Tim Lunn
2023-12-03 12:40 ` [PATCH v3 7/8] ARM: dts: Add Sonoff iHost Smart Home Hub Tim Lunn
2023-12-03 12:40 ` [PATCH v3 8/8] dt-bindings: arm: rockchip: Add Sonoff iHost Tim Lunn
2023-12-05 0:06 ` (subset) [PATCH v3 0/8] Add support for Sonoff iHost RV1126 Smart Home Gateway Heiko Stuebner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).