* [PATCH v2 00/14] further mt7988 devicetree work
@ 2025-05-16 18:01 Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 01/14] dt-bindings: net: mediatek,net: update for mt7988 Frank Wunderlich
` (15 more replies)
0 siblings, 16 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
This series continues mt7988 devicetree work
- Add SPI with BPI-R4 nand to reach eMMC
- Add thermal protection (fan+cooling-points)
- Extend cpu frequency scaling with CCI
- Basic network-support (ethernet controller + builtin switch + SFP Cages)
depencies (i hope this list is complete and latest patches/series linked):
"Add Bananapi R4 variants and add xsphy" (reviewed, partially applied):
https://patchwork.kernel.org/project/linux-mediatek/list/?series=955733
"net: phy: mediatek: do not require syscon compatible for pio property":
https://patchwork.kernel.org/project/netdevbpf/patch/20250510174933.154589-1-linux@fw-web.de/
for phy led function (RFC not yet reviewed, resent without RFC)
for 2.5g phy function (currently disabled):
- net: ethernet: mtk_eth_soc: add support for MT7988 internal 2.5G PHY (already merged to 6.15-net-next)
- net: phy: mediatek: add driver for built-in 2.5G ethernet PHY on MT7988
https://patchwork.kernel.org/project/netdevbpf/patch/20250516102327.2014531-3-SkyLake.Huang@mediatek.com/ (v4)
for SFP-Function (macs currently disabled):
PCS clearance which is a 1.5 year discussion currently ongoing
e.g. something like this (one of):
* https://patchwork.kernel.org/project/netdevbpf/patch/20250511201250.3789083-4-ansuelsmth@gmail.com/ (v4)
* https://patchwork.kernel.org/project/netdevbpf/patch/20250512161013.731955-4-sean.anderson@linux.dev/ (v4)
* https://patchwork.kernel.org/project/netdevbpf/patch/ba4e359584a6b3bc4b3470822c42186d5b0856f9.1721910728.git.daniel@makrotopia.org/
full usxgmii driver:
https://patchwork.kernel.org/project/netdevbpf/patch/07845ec900ba41ff992875dce12c622277592c32.1702352117.git.daniel@makrotopia.org/
first PCS-discussion is here:
https://patchwork.kernel.org/project/netdevbpf/patch/8aa905080bdb6760875d62cb3b2b41258837f80e.1702352117.git.daniel@makrotopia.org/
and then dts nodes for sgmiisys+usxgmii
when above depencies are solved the mac1/2 can be enabled and 2.5G phy/SFP slots will work.
changes:
v2:
- change reg to list of items in eth binding
- changed mt7530 binding:
- unevaluatedProperties=false
- mediatek,pio subproperty
- from patternProperty to property
- board specific properties like led function and labels moved to bpi-r4 dtsi
Frank Wunderlich (14):
dt-bindings: net: mediatek,net: update for mt7988
dt-bindings: net: dsa: mediatek,mt7530: add dsa-port definition for
mt7988
dt-bindings: net: dsa: mediatek,mt7530: add internal mdio bus
arm64: dts: mediatek: mt7988: add spi controllers
arm64: dts: mediatek: mt7988: move uart0 and spi1 pins to soc dtsi
arm64: dts: mediatek: mt7988: add cci node
arm64: dts: mediatek: mt7988: add phy calibration efuse subnodes
arm64: dts: mediatek: mt7988: add basic ethernet-nodes
arm64: dts: mediatek: mt7988: add switch node
arm64: dts: mediatek: mt7988a-bpi-r4: Add fan and coolingmaps
arm64: dts: mediatek: mt7988a-bpi-r4: configure spi-nodes
arm64: dts: mediatek: mt7988a-bpi-r4: add proc-supply for cci
arm64: dts: mediatek: mt7988a-bpi-r4: add sfp cages and link to gmac
arm64: dts: mediatek: mt7988a-bpi-r4: configure switch phys and leds
.../bindings/net/dsa/mediatek,mt7530.yaml | 24 +-
.../devicetree/bindings/net/mediatek,net.yaml | 10 +-
.../mediatek/mt7988a-bananapi-bpi-r4-2g5.dts | 11 +
.../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 18 +
.../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 158 ++++++-
arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 389 +++++++++++++++++-
6 files changed, 590 insertions(+), 20 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v2 01/14] dt-bindings: net: mediatek,net: update for mt7988
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-27 19:28 ` Rob Herring (Arm)
2025-05-16 18:01 ` [net-next, PATCH v2] net: phy: mediatek: do not require syscon compatible for pio property Frank Wunderlich
` (14 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Update binding for mt7988 which has 3 gmac and 2 reg items.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
v2:
- change reg to list of items
---
.../devicetree/bindings/net/mediatek,net.yaml | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/mediatek,net.yaml b/Documentation/devicetree/bindings/net/mediatek,net.yaml
index 9e02fd80af83..e5dc35cfe4e4 100644
--- a/Documentation/devicetree/bindings/net/mediatek,net.yaml
+++ b/Documentation/devicetree/bindings/net/mediatek,net.yaml
@@ -28,7 +28,10 @@ properties:
- ralink,rt5350-eth
reg:
- maxItems: 1
+ items:
+ - description: Register for accessing the MACs.
+ - description: SoC internal SRAM used for DMA operations.
+ minItems: 1
clocks:
minItems: 2
@@ -381,8 +384,11 @@ allOf:
- const: xgp2
- const: xgp3
+ reg:
+ minItems: 2
+
patternProperties:
- "^mac@[0-1]$":
+ "^mac@[0-2]$":
type: object
unevaluatedProperties: false
allOf:
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [net-next, PATCH v2] net: phy: mediatek: do not require syscon compatible for pio property
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 01/14] dt-bindings: net: mediatek,net: update for mt7988 Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:08 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 02/14] dt-bindings: net: dsa: mediatek,mt7530: add dsa-port definition for mt7988 Frank Wunderlich
` (13 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Daniel Golle, Qingfang Deng, SkyLake Huang, Heiner Kallweit,
Russell King
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
Sean Wang, Lorenzo Bianconi, Felix Fietkau, netdev, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Current implementation requires syscon compatible for pio property
which is used for driving the switch leds on mt7988.
Replace syscon_regmap_lookup_by_phandle with of_parse_phandle and
device_node_to_regmap to get the regmap already assigned by pinctrl
driver.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
v2:
- out of RFC
---
drivers/net/phy/mediatek/mtk-ge-soc.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/net/phy/mediatek/mtk-ge-soc.c b/drivers/net/phy/mediatek/mtk-ge-soc.c
index 175cf5239bba..21975ef946d5 100644
--- a/drivers/net/phy/mediatek/mtk-ge-soc.c
+++ b/drivers/net/phy/mediatek/mtk-ge-soc.c
@@ -7,6 +7,7 @@
#include <linux/pinctrl/consumer.h>
#include <linux/phy.h>
#include <linux/regmap.h>
+#include <linux/of.h>
#include "../phylib.h"
#include "mtk.h"
@@ -1319,6 +1320,7 @@ static int mt7988_phy_probe_shared(struct phy_device *phydev)
{
struct device_node *np = dev_of_node(&phydev->mdio.bus->dev);
struct mtk_socphy_shared *shared = phy_package_get_priv(phydev);
+ struct device_node *pio_np;
struct regmap *regmap;
u32 reg;
int ret;
@@ -1336,7 +1338,13 @@ static int mt7988_phy_probe_shared(struct phy_device *phydev)
* The 4 bits in TPBANK0 are kept as package shared data and are used to
* set LED polarity for each of the LED0.
*/
- regmap = syscon_regmap_lookup_by_phandle(np, "mediatek,pio");
+ pio_np = of_parse_phandle(np, "mediatek,pio", 0);
+ if (!pio_np)
+ return -ENODEV;
+
+ regmap = device_node_to_regmap(pio_np);
+ of_node_put(pio_np);
+
if (IS_ERR(regmap))
return PTR_ERR(regmap);
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 02/14] dt-bindings: net: dsa: mediatek,mt7530: add dsa-port definition for mt7988
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 01/14] dt-bindings: net: mediatek,net: update for mt7988 Frank Wunderlich
2025-05-16 18:01 ` [net-next, PATCH v2] net: phy: mediatek: do not require syscon compatible for pio property Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 03/14] dt-bindings: net: dsa: mediatek,mt7530: add internal mdio bus Frank Wunderlich
` (12 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Add own dsa-port binding for SoC with internal switch where only phy-mode
'internal' is valid.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
---
.../bindings/net/dsa/mediatek,mt7530.yaml | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
index ea979bcae1d6..bb22c36749fc 100644
--- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
@@ -186,6 +186,18 @@ required:
- reg
$defs:
+ builtin-dsa-port:
+ patternProperties:
+ "^(ethernet-)?ports$":
+ patternProperties:
+ "^(ethernet-)?port@[0-6]$":
+ if:
+ required: [ ethernet ]
+ then:
+ properties:
+ phy-mode:
+ const: internal
+
mt7530-dsa-port:
patternProperties:
"^(ethernet-)?ports$":
@@ -292,7 +304,7 @@ allOf:
- mediatek,mt7988-switch
- airoha,en7581-switch
then:
- $ref: "#/$defs/mt7530-dsa-port"
+ $ref: "#/$defs/builtin-dsa-port"
properties:
gpio-controller: false
mediatek,mcm: false
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 03/14] dt-bindings: net: dsa: mediatek,mt7530: add internal mdio bus
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (2 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 02/14] dt-bindings: net: dsa: mediatek,mt7530: add dsa-port definition for mt7988 Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-27 19:29 ` Rob Herring (Arm)
2025-05-16 18:01 ` [PATCH v2 04/14] arm64: dts: mediatek: mt7988: add spi controllers Frank Wunderlich
` (11 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Mt7988 buildin switch has own mdio bus where ge-phys are connected.
Add related property for this.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
v2:
- change from patternproperty to property
- add unevaluatedProperties and mediatek,pio subproperty
---
.../devicetree/bindings/net/dsa/mediatek,mt7530.yaml | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
index bb22c36749fc..1692adcedea3 100644
--- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
@@ -132,6 +132,16 @@ properties:
See Documentation/devicetree/bindings/regulator/mt6323-regulator.txt for
details for the regulator setup on these boards.
+ mdio:
+ $ref: /schemas/net/mdio.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ mediatek,pio:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Phandle pointing to the mediatek pinctrl node.
+
mediatek,mcm:
type: boolean
description:
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 04/14] arm64: dts: mediatek: mt7988: add spi controllers
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (3 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 03/14] dt-bindings: net: dsa: mediatek,mt7530: add internal mdio bus Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 05/14] arm64: dts: mediatek: mt7988: move uart0 and spi1 pins to soc dtsi Frank Wunderlich
` (10 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Add SPI controllers for mt7988.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 45 +++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
index 8f6d1dfae24a..8c31935f4ab0 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
@@ -311,6 +311,51 @@ i2c2: i2c@11005000 {
status = "disabled";
};
+ spi0: spi@11007000 {
+ compatible = "mediatek,mt7988-spi-quad", "mediatek,spi-ipm";
+ reg = <0 0x11007000 0 0x100>;
+ interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&topckgen CLK_TOP_MPLL_D2>,
+ <&topckgen CLK_TOP_SPI_SEL>,
+ <&infracfg CLK_INFRA_104M_SPI0>,
+ <&infracfg CLK_INFRA_66M_SPI0_HCK>;
+ clock-names = "parent-clk", "sel-clk", "spi-clk",
+ "hclk";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ spi1: spi@11008000 {
+ compatible = "mediatek,mt7988-spi-single", "mediatek,spi-ipm";
+ reg = <0 0x11008000 0 0x100>;
+ interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&topckgen CLK_TOP_MPLL_D2>,
+ <&topckgen CLK_TOP_SPIM_MST_SEL>,
+ <&infracfg CLK_INFRA_104M_SPI1>,
+ <&infracfg CLK_INFRA_66M_SPI1_HCK>;
+ clock-names = "parent-clk", "sel-clk", "spi-clk",
+ "hclk";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ spi2: spi@11009000 {
+ compatible = "mediatek,mt7988-spi-quad", "mediatek,spi-ipm";
+ reg = <0 0x11009000 0 0x100>;
+ interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&topckgen CLK_TOP_MPLL_D2>,
+ <&topckgen CLK_TOP_SPI_SEL>,
+ <&infracfg CLK_INFRA_104M_SPI2_BCK>,
+ <&infracfg CLK_INFRA_66M_SPI2_HCK>;
+ clock-names = "parent-clk", "sel-clk", "spi-clk",
+ "hclk";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
lvts: lvts@1100a000 {
compatible = "mediatek,mt7988-lvts-ap";
#thermal-sensor-cells = <1>;
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 05/14] arm64: dts: mediatek: mt7988: move uart0 and spi1 pins to soc dtsi
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (4 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 04/14] arm64: dts: mediatek: mt7988: add spi controllers Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node Frank Wunderlich
` (9 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
In order to use uart0 or spi1 there is only 1 possible pin definition
so move them to soc dtsi to reuse them in other boards and avoiding
conflict if defined twice.
Suggested-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
.../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 14 --------------
arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 18 ++++++++++++++++++
2 files changed, 18 insertions(+), 14 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
index 37e541a98ee1..23b267cd47ac 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
@@ -328,13 +328,6 @@ mux {
};
};
- uart0_pins: uart0-pins {
- mux {
- function = "uart";
- groups = "uart0";
- };
- };
-
snfi_pins: snfi-pins {
mux {
function = "flash";
@@ -356,13 +349,6 @@ mux {
};
};
- spi1_pins: spi1-pins {
- mux {
- function = "spi";
- groups = "spi1";
- };
- };
-
spi2_pins: spi2-pins {
mux {
function = "spi";
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
index 8c31935f4ab0..ab6fc09940b8 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
@@ -209,6 +209,20 @@ mux {
"pcie_wake_n3_0";
};
};
+
+ spi1_pins: spi1-pins {
+ mux {
+ function = "spi";
+ groups = "spi1";
+ };
+ };
+
+ uart0_pins: uart0-pins {
+ mux {
+ function = "uart";
+ groups = "uart0";
+ };
+ };
};
pwm: pwm@10048000 {
@@ -244,6 +258,8 @@ serial0: serial@11000000 {
clocks = <&topckgen CLK_TOP_UART_SEL>,
<&infracfg CLK_INFRA_52M_UART0_CK>;
clock-names = "baud", "bus";
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pins>;
status = "disabled";
};
@@ -338,6 +354,8 @@ spi1: spi@11008000 {
"hclk";
#address-cells = <1>;
#size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi1_pins>;
status = "disabled";
};
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (5 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 05/14] arm64: dts: mediatek: mt7988: move uart0 and spi1 pins to soc dtsi Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-20 11:27 ` AngeloGioacchino Del Regno
2025-05-16 18:01 ` [PATCH v2 07/14] arm64: dts: mediatek: mt7988: add phy calibration efuse subnodes Frank Wunderlich
` (8 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Add cci devicetree node for cpu frequency scaling.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 33 +++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
index ab6fc09940b8..64466acb0e71 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
@@ -12,6 +12,35 @@ / {
#address-cells = <2>;
#size-cells = <2>;
+ cci: cci {
+ compatible = "mediatek,mt8183-cci";
+ clocks = <&mcusys CLK_MCU_BUS_DIV_SEL>,
+ <&topckgen CLK_TOP_XTAL>;
+ clock-names = "cci", "intermediate";
+ operating-points-v2 = <&cci_opp>;
+ };
+
+ cci_opp: opp-table-cci {
+ compatible = "operating-points-v2";
+ opp-shared;
+ opp-480000000 {
+ opp-hz = /bits/ 64 <480000000>;
+ opp-microvolt = <850000>;
+ };
+ opp-660000000 {
+ opp-hz = /bits/ 64 <660000000>;
+ opp-microvolt = <850000>;
+ };
+ opp-900000000 {
+ opp-hz = /bits/ 64 <900000000>;
+ opp-microvolt = <850000>;
+ };
+ opp-1080000000 {
+ opp-hz = /bits/ 64 <1080000000>;
+ opp-microvolt = <900000>;
+ };
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -25,6 +54,7 @@ cpu0: cpu@0 {
<&topckgen CLK_TOP_XTAL>;
clock-names = "cpu", "intermediate";
operating-points-v2 = <&cluster0_opp>;
+ mediatek,cci = <&cci>;
};
cpu1: cpu@1 {
@@ -36,6 +66,7 @@ cpu1: cpu@1 {
<&topckgen CLK_TOP_XTAL>;
clock-names = "cpu", "intermediate";
operating-points-v2 = <&cluster0_opp>;
+ mediatek,cci = <&cci>;
};
cpu2: cpu@2 {
@@ -47,6 +78,7 @@ cpu2: cpu@2 {
<&topckgen CLK_TOP_XTAL>;
clock-names = "cpu", "intermediate";
operating-points-v2 = <&cluster0_opp>;
+ mediatek,cci = <&cci>;
};
cpu3: cpu@3 {
@@ -58,6 +90,7 @@ cpu3: cpu@3 {
<&topckgen CLK_TOP_XTAL>;
clock-names = "cpu", "intermediate";
operating-points-v2 = <&cluster0_opp>;
+ mediatek,cci = <&cci>;
};
cluster0_opp: opp-table-0 {
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 07/14] arm64: dts: mediatek: mt7988: add phy calibration efuse subnodes
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (6 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 08/14] arm64: dts: mediatek: mt7988: add basic ethernet-nodes Frank Wunderlich
` (7 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
MT7988 contains buildin mt753x switch which needs calibration data from
efuse.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
index 64466acb0e71..029699e4eb02 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
@@ -696,6 +696,22 @@ efuse@11f50000 {
lvts_calibration: calib@918 {
reg = <0x918 0x28>;
};
+
+ phy_calibration_p0: calib@940 {
+ reg = <0x940 0x10>;
+ };
+
+ phy_calibration_p1: calib@954 {
+ reg = <0x954 0x10>;
+ };
+
+ phy_calibration_p2: calib@968 {
+ reg = <0x968 0x10>;
+ };
+
+ phy_calibration_p3: calib@97c {
+ reg = <0x97c 0x10>;
+ };
};
clock-controller@15000000 {
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 08/14] arm64: dts: mediatek: mt7988: add basic ethernet-nodes
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (7 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 07/14] arm64: dts: mediatek: mt7988: add phy calibration efuse subnodes Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 09/14] arm64: dts: mediatek: mt7988: add switch node Frank Wunderlich
` (6 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Add basic ethernet related nodes.
Mac1+2 needs pcs (sgmii+usxgmii) to work correctly which will be linked
later when driver is merged.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 124 +++++++++++++++++++++-
1 file changed, 121 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
index 029699e4eb02..aa0947a555aa 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
@@ -680,7 +680,28 @@ xphyu3port0: usb-phy@11e13000 {
};
};
- clock-controller@11f40000 {
+ xfi_tphy0: phy@11f20000 {
+ compatible = "mediatek,mt7988-xfi-tphy";
+ reg = <0 0x11f20000 0 0x10000>;
+ resets = <&watchdog 14>;
+ clocks = <&xfi_pll CLK_XFIPLL_PLL_EN>,
+ <&topckgen CLK_TOP_XFI_PHY_0_XTAL_SEL>;
+ clock-names = "xfipll", "topxtal";
+ mediatek,usxgmii-performance-errata;
+ #phy-cells = <0>;
+ };
+
+ xfi_tphy1: phy@11f30000 {
+ compatible = "mediatek,mt7988-xfi-tphy";
+ reg = <0 0x11f30000 0 0x10000>;
+ resets = <&watchdog 15>;
+ clocks = <&xfi_pll CLK_XFIPLL_PLL_EN>,
+ <&topckgen CLK_TOP_XFI_PHY_1_XTAL_SEL>;
+ clock-names = "xfipll", "topxtal";
+ #phy-cells = <0>;
+ };
+
+ xfi_pll: clock-controller@11f40000 {
compatible = "mediatek,mt7988-xfi-pll";
reg = <0 0x11f40000 0 0x1000>;
resets = <&watchdog 16>;
@@ -714,19 +735,116 @@ phy_calibration_p3: calib@97c {
};
};
- clock-controller@15000000 {
+ ethsys: clock-controller@15000000 {
compatible = "mediatek,mt7988-ethsys", "syscon";
reg = <0 0x15000000 0 0x1000>;
#clock-cells = <1>;
#reset-cells = <1>;
};
- clock-controller@15031000 {
+ ethwarp: clock-controller@15031000 {
compatible = "mediatek,mt7988-ethwarp";
reg = <0 0x15031000 0 0x1000>;
#clock-cells = <1>;
#reset-cells = <1>;
};
+
+ eth: ethernet@15100000 {
+ compatible = "mediatek,mt7988-eth";
+ reg = <0 0x15100000 0 0x80000>,
+ <0 0x15400000 0 0x200000>;
+ interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <ðsys CLK_ETHDMA_CRYPT0_EN>,
+ <ðsys CLK_ETHDMA_FE_EN>,
+ <ðsys CLK_ETHDMA_GP2_EN>,
+ <ðsys CLK_ETHDMA_GP1_EN>,
+ <ðsys CLK_ETHDMA_GP3_EN>,
+ <ðwarp CLK_ETHWARP_WOCPU2_EN>,
+ <ðwarp CLK_ETHWARP_WOCPU1_EN>,
+ <ðwarp CLK_ETHWARP_WOCPU0_EN>,
+ <ðsys CLK_ETHDMA_ESW_EN>,
+ <&topckgen CLK_TOP_ETH_GMII_SEL>,
+ <&topckgen CLK_TOP_ETH_REFCK_50M_SEL>,
+ <&topckgen CLK_TOP_ETH_SYS_200M_SEL>,
+ <&topckgen CLK_TOP_ETH_SYS_SEL>,
+ <&topckgen CLK_TOP_ETH_XGMII_SEL>,
+ <&topckgen CLK_TOP_ETH_MII_SEL>,
+ <&topckgen CLK_TOP_NETSYS_SEL>,
+ <&topckgen CLK_TOP_NETSYS_500M_SEL>,
+ <&topckgen CLK_TOP_NETSYS_PAO_2X_SEL>,
+ <&topckgen CLK_TOP_NETSYS_SYNC_250M_SEL>,
+ <&topckgen CLK_TOP_NETSYS_PPEFB_250M_SEL>,
+ <&topckgen CLK_TOP_NETSYS_WARP_SEL>,
+ <ðsys CLK_ETHDMA_XGP1_EN>,
+ <ðsys CLK_ETHDMA_XGP2_EN>,
+ <ðsys CLK_ETHDMA_XGP3_EN>;
+ clock-names = "crypto", "fe", "gp2", "gp1",
+ "gp3",
+ "ethwarp_wocpu2", "ethwarp_wocpu1",
+ "ethwarp_wocpu0", "esw", "top_eth_gmii_sel",
+ "top_eth_refck_50m_sel", "top_eth_sys_200m_sel",
+ "top_eth_sys_sel", "top_eth_xgmii_sel",
+ "top_eth_mii_sel", "top_netsys_sel",
+ "top_netsys_500m_sel", "top_netsys_pao_2x_sel",
+ "top_netsys_sync_250m_sel",
+ "top_netsys_ppefb_250m_sel",
+ "top_netsys_warp_sel","xgp1", "xgp2", "xgp3";
+ assigned-clocks = <&topckgen CLK_TOP_NETSYS_2X_SEL>,
+ <&topckgen CLK_TOP_NETSYS_GSW_SEL>,
+ <&topckgen CLK_TOP_USXGMII_SBUS_0_SEL>,
+ <&topckgen CLK_TOP_USXGMII_SBUS_1_SEL>,
+ <&topckgen CLK_TOP_SGM_0_SEL>,
+ <&topckgen CLK_TOP_SGM_1_SEL>;
+ assigned-clock-parents = <&apmixedsys CLK_APMIXED_NET2PLL>,
+ <&topckgen CLK_TOP_NET1PLL_D4>,
+ <&topckgen CLK_TOP_NET1PLL_D8_D4>,
+ <&topckgen CLK_TOP_NET1PLL_D8_D4>,
+ <&apmixedsys CLK_APMIXED_SGMPLL>,
+ <&apmixedsys CLK_APMIXED_SGMPLL>;
+ mediatek,ethsys = <ðsys>;
+ mediatek,infracfg = <&topmisc>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gmac0: mac@0 {
+ compatible = "mediatek,eth-mac";
+ reg = <0>;
+ phy-mode = "internal";
+
+ fixed-link {
+ speed = <10000>;
+ full-duplex;
+ pause;
+ };
+ };
+
+ gmac1: mac@1 {
+ compatible = "mediatek,eth-mac";
+ reg = <1>;
+ status = "disabled";
+ };
+
+ gmac2: mac@2 {
+ compatible = "mediatek,eth-mac";
+ reg = <2>;
+ status = "disabled";
+ };
+
+ mdio_bus: mdio-bus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* internal 2.5G PHY */
+ int_2p5g_phy: ethernet-phy@f {
+ reg = <15>;
+ compatible = "ethernet-phy-ieee802.3-c45";
+ phy-mode = "internal";
+ };
+ };
+ };
};
thermal-zones {
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 09/14] arm64: dts: mediatek: mt7988: add switch node
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (8 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 08/14] arm64: dts: mediatek: mt7988: add basic ethernet-nodes Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 10/14] arm64: dts: mediatek: mt7988a-bpi-r4: Add fan and coolingmaps Frank Wunderlich
` (5 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Add mt7988 builtin mt753x switch nodes.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
v2:
- drop labels and led-function too (have to be in board)
---
arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 153 ++++++++++++++++++++++
1 file changed, 153 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
index aa0947a555aa..f738a025b623 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
@@ -742,6 +742,159 @@ ethsys: clock-controller@15000000 {
#reset-cells = <1>;
};
+ switch: switch@15020000 {
+ compatible = "mediatek,mt7988-switch";
+ reg = <0 0x15020000 0 0x8000>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
+ resets = <ðwarp MT7988_ETHWARP_RST_SWITCH>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gsw_port0: port@0 {
+ reg = <0>;
+ phy-mode = "internal";
+ phy-handle = <&gsw_phy0>;
+ };
+
+ gsw_port1: port@1 {
+ reg = <1>;
+ phy-mode = "internal";
+ phy-handle = <&gsw_phy1>;
+ };
+
+ gsw_port2: port@2 {
+ reg = <2>;
+ phy-mode = "internal";
+ phy-handle = <&gsw_phy2>;
+ };
+
+ gsw_port3: port@3 {
+ reg = <3>;
+ phy-mode = "internal";
+ phy-handle = <&gsw_phy3>;
+ };
+
+ port@6 {
+ reg = <6>;
+ ethernet = <&gmac0>;
+ phy-mode = "internal";
+
+ fixed-link {
+ speed = <10000>;
+ full-duplex;
+ pause;
+ };
+ };
+ };
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mediatek,pio = <&pio>;
+
+ gsw_phy0: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ interrupts = <0>;
+ phy-mode = "internal";
+ nvmem-cells = <&phy_calibration_p0>;
+ nvmem-cell-names = "phy-cal-data";
+
+ leds {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gsw_phy0_led0: led@0 {
+ reg = <0>;
+ status = "disabled";
+ };
+
+ gsw_phy0_led1: led@1 {
+ reg = <1>;
+ status = "disabled";
+ };
+ };
+ };
+
+ gsw_phy1: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ interrupts = <1>;
+ phy-mode = "internal";
+ nvmem-cells = <&phy_calibration_p1>;
+ nvmem-cell-names = "phy-cal-data";
+
+ leds {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gsw_phy1_led0: led@0 {
+ reg = <0>;
+ status = "disabled";
+ };
+
+ gsw_phy1_led1: led@1 {
+ reg = <1>;
+ status = "disabled";
+ };
+ };
+ };
+
+ gsw_phy2: ethernet-phy@2 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <2>;
+ interrupts = <2>;
+ phy-mode = "internal";
+ nvmem-cells = <&phy_calibration_p2>;
+ nvmem-cell-names = "phy-cal-data";
+
+ leds {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gsw_phy2_led0: led@0 {
+ reg = <0>;
+ status = "disabled";
+ };
+
+ gsw_phy2_led1: led@1 {
+ reg = <1>;
+ status = "disabled";
+ };
+ };
+ };
+
+ gsw_phy3: ethernet-phy@3 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <3>;
+ interrupts = <3>;
+ phy-mode = "internal";
+ nvmem-cells = <&phy_calibration_p3>;
+ nvmem-cell-names = "phy-cal-data";
+
+ leds {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gsw_phy3_led0: led@0 {
+ reg = <0>;
+ status = "disabled";
+ };
+
+ gsw_phy3_led1: led@1 {
+ reg = <1>;
+ status = "disabled";
+ };
+ };
+ };
+ };
+ };
+
ethwarp: clock-controller@15031000 {
compatible = "mediatek,mt7988-ethwarp";
reg = <0 0x15031000 0 0x1000>;
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 10/14] arm64: dts: mediatek: mt7988a-bpi-r4: Add fan and coolingmaps
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (9 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 09/14] arm64: dts: mediatek: mt7988: add switch node Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 11/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure spi-nodes Frank Wunderlich
` (4 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Add Fan and cooling maps for Bananapi-R4 board.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
v2: fix typo
---
.../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
index 23b267cd47ac..c6f84de82a4d 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
@@ -12,6 +12,15 @@ chosen {
stdout-path = "serial0:115200n8";
};
+ fan: pwm-fan {
+ compatible = "pwm-fan";
+ /* cooling level (0, 1, 2, 3) : (0% duty, 30% duty, 50% duty, 100% duty) */
+ cooling-levels = <0 80 128 255>;
+ #cooling-cells = <2>;
+ pwms = <&pwm 0 50000>;
+ status = "okay";
+ };
+
reg_1p8v: regulator-1p8v {
compatible = "regulator-fixed";
regulator-name = "fixed-1.8V";
@@ -73,6 +82,26 @@ cpu_trip_active_low: active-low {
type = "active";
};
};
+
+ cooling-maps {
+ map-cpu-active-high {
+ /* active: set fan to cooling level 2 */
+ cooling-device = <&fan 3 3>;
+ trip = <&cpu_trip_active_high>;
+ };
+
+ map-cpu-active-med {
+ /* active: set fan to cooling level 1 */
+ cooling-device = <&fan 2 2>;
+ trip = <&cpu_trip_active_med>;
+ };
+
+ map-cpu-active-low {
+ /* active: set fan to cooling level 0 */
+ cooling-device = <&fan 1 1>;
+ trip = <&cpu_trip_active_low>;
+ };
+ };
};
&i2c0 {
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 11/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure spi-nodes
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (10 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 10/14] arm64: dts: mediatek: mt7988a-bpi-r4: Add fan and coolingmaps Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 12/14] arm64: dts: mediatek: mt7988a-bpi-r4: add proc-supply for cci Frank Wunderlich
` (3 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Configure and enable SPI nodes on Bananapi R4 board.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
.../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 32 +++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
index c6f84de82a4d..81ba045e0e0e 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
@@ -401,6 +401,38 @@ &serial0 {
status = "okay";
};
+&spi0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi0_flash_pins>;
+ status = "okay";
+
+ spi_nand: flash@0 {
+ compatible = "spi-nand";
+ reg = <0>;
+ spi-max-frequency = <52000000>;
+ spi-tx-bus-width = <4>;
+ spi-rx-bus-width = <4>;
+ };
+};
+
+&spi1 {
+ status = "okay";
+};
+
+&spi_nand {
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "bl2";
+ reg = <0x0 0x200000>;
+ read-only;
+ };
+ };
+};
+
&ssusb1 {
status = "okay";
};
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 12/14] arm64: dts: mediatek: mt7988a-bpi-r4: add proc-supply for cci
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (11 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 11/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure spi-nodes Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 13/14] arm64: dts: mediatek: mt7988a-bpi-r4: add sfp cages and link to gmac Frank Wunderlich
` (2 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
CCI requires proc-supply. Add it on board level.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
index 81ba045e0e0e..afa9e3b2b16a 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
@@ -40,6 +40,10 @@ reg_3p3v: regulator-3p3v {
};
};
+&cci {
+ proc-supply = <&rt5190_buck3>;
+};
+
&cpu0 {
proc-supply = <&rt5190_buck3>;
};
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 13/14] arm64: dts: mediatek: mt7988a-bpi-r4: add sfp cages and link to gmac
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (12 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 12/14] arm64: dts: mediatek: mt7988a-bpi-r4: add proc-supply for cci Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 14/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure switch phys and leds Frank Wunderlich
2025-05-20 10:17 ` (subset) [PATCH v2 00/14] further mt7988 devicetree work AngeloGioacchino Del Regno
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Add SFP cages to Bananapi-R4 board. The 2.5g phy variant only contains the
wan-SFP, so add this to common dtsi and the lan-sfp only to the dual-SFP
variant.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
.../mediatek/mt7988a-bananapi-bpi-r4-2g5.dts | 11 +++++++++++
.../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 18 ++++++++++++++++++
.../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 18 ++++++++++++++++++
3 files changed, 47 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts
index 53de9c113f60..574ac1b853a6 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts
+++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts
@@ -9,3 +9,14 @@ / {
model = "Banana Pi BPI-R4 (1x SFP+, 1x 2.5GbE)";
chassis-type = "embedded";
};
+
+&gmac1 {
+ phy-mode = "internal";
+ phy-connection-type = "internal";
+ phy = <&int_2p5g_phy>;
+};
+
+&int_2p5g_phy {
+ pinctrl-names = "i2p5gbe-led";
+ pinctrl-0 = <&i2p5gbe_led0_pins>;
+};
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dts b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dts
index 36bd1ef2efab..3136dc4ba4cc 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dts
+++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dts
@@ -8,6 +8,24 @@ / {
compatible = "bananapi,bpi-r4", "mediatek,mt7988a";
model = "Banana Pi BPI-R4 (2x SFP+)";
chassis-type = "embedded";
+
+ /* SFP2 cage (LAN) */
+ sfp2: sfp2 {
+ compatible = "sff,sfp";
+ i2c-bus = <&i2c_sfp2>;
+ los-gpios = <&pio 2 GPIO_ACTIVE_HIGH>;
+ mod-def0-gpios = <&pio 83 GPIO_ACTIVE_LOW>;
+ tx-disable-gpios = <&pio 0 GPIO_ACTIVE_HIGH>;
+ tx-fault-gpios = <&pio 1 GPIO_ACTIVE_HIGH>;
+ rate-select0-gpios = <&pio 3 GPIO_ACTIVE_LOW>;
+ maximum-power-milliwatt = <3000>;
+ };
+};
+
+&gmac1 {
+ sfp = <&sfp2>;
+ managed = "in-band-status";
+ phy-mode = "usxgmii";
};
&pca9545 {
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
index afa9e3b2b16a..d40c8dbcd18e 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
@@ -38,6 +38,18 @@ reg_3p3v: regulator-3p3v {
regulator-boot-on;
regulator-always-on;
};
+
+ /* SFP1 cage (WAN) */
+ sfp1: sfp1 {
+ compatible = "sff,sfp";
+ i2c-bus = <&i2c_sfp1>;
+ los-gpios = <&pio 54 GPIO_ACTIVE_HIGH>;
+ mod-def0-gpios = <&pio 82 GPIO_ACTIVE_LOW>;
+ tx-disable-gpios = <&pio 70 GPIO_ACTIVE_HIGH>;
+ tx-fault-gpios = <&pio 69 GPIO_ACTIVE_HIGH>;
+ rate-select0-gpios = <&pio 21 GPIO_ACTIVE_LOW>;
+ maximum-power-milliwatt = <3000>;
+ };
};
&cci {
@@ -108,6 +120,12 @@ map-cpu-active-low {
};
};
+&gmac2 {
+ sfp = <&sfp1>;
+ managed = "in-band-status";
+ phy-mode = "usxgmii";
+};
+
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v2 14/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure switch phys and leds
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (13 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 13/14] arm64: dts: mediatek: mt7988a-bpi-r4: add sfp cages and link to gmac Frank Wunderlich
@ 2025-05-16 18:01 ` Frank Wunderlich
2025-05-20 10:17 ` (subset) [PATCH v2 00/14] further mt7988 devicetree work AngeloGioacchino Del Regno
15 siblings, 0 replies; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:01 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
From: Frank Wunderlich <frank-w@public-files.de>
Assign pinctrl to switch phys and leds.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
v2:
- add labels and led-function and include after dropping from soc dtsi
---
.../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 61 +++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
index d40c8dbcd18e..9e4ae4c4ea17 100644
--- a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
@@ -4,6 +4,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
+#include <dt-bindings/leds/common.h>
#include "mt7988a.dtsi"
@@ -126,6 +127,66 @@ &gmac2 {
phy-mode = "usxgmii";
};
+&gsw_phy0 {
+ pinctrl-names = "gbe-led";
+ pinctrl-0 = <&gbe0_led0_pins>;
+};
+
+&gsw_phy0_led0 {
+ status = "okay";
+ function = LED_FUNCTION_WAN;
+ color = <LED_COLOR_ID_GREEN>;
+};
+
+&gsw_port0 {
+ label = "wan";
+};
+
+&gsw_phy1 {
+ pinctrl-names = "gbe-led";
+ pinctrl-0 = <&gbe1_led0_pins>;
+};
+
+&gsw_phy1_led0 {
+ status = "okay";
+ function = LED_FUNCTION_LAN;
+ color = <LED_COLOR_ID_GREEN>;
+};
+
+&gsw_port1 {
+ label = "lan1";
+};
+
+&gsw_phy2 {
+ pinctrl-names = "gbe-led";
+ pinctrl-0 = <&gbe2_led0_pins>;
+};
+
+&gsw_phy2_led0 {
+ status = "okay";
+ function = LED_FUNCTION_LAN;
+ color = <LED_COLOR_ID_GREEN>;
+};
+
+&gsw_port2 {
+ label = "lan2";
+};
+
+&gsw_phy3 {
+ pinctrl-names = "gbe-led";
+ function = LED_FUNCTION_LAN;
+ pinctrl-0 = <&gbe3_led0_pins>;
+};
+
+&gsw_phy3_led0 {
+ status = "okay";
+ color = <LED_COLOR_ID_GREEN>;
+};
+
+&gsw_port3 {
+ label = "lan3";
+};
+
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [net-next, PATCH v2] net: phy: mediatek: do not require syscon compatible for pio property
2025-05-16 18:01 ` [net-next, PATCH v2] net: phy: mediatek: do not require syscon compatible for pio property Frank Wunderlich
@ 2025-05-16 18:08 ` Frank Wunderlich
2025-05-16 23:31 ` Jakub Kicinski
0 siblings, 1 reply; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-16 18:08 UTC (permalink / raw)
To: Frank Wunderlich, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Daniel Golle, Qingfang Deng,
SkyLake Huang, Heiner Kallweit, Russell King
Cc: Arınç ÜNAL, Landen Chao, Sean Wang,
Lorenzo Bianconi, Felix Fietkau, netdev, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
Sorry, resent it by accident while sending v2 of my dts series.
regards Frank
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [net-next, PATCH v2] net: phy: mediatek: do not require syscon compatible for pio property
2025-05-16 18:08 ` Frank Wunderlich
@ 2025-05-16 23:31 ` Jakub Kicinski
0 siblings, 0 replies; 25+ messages in thread
From: Jakub Kicinski @ 2025-05-16 23:31 UTC (permalink / raw)
To: Frank Wunderlich
Cc: Frank Wunderlich, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno,
Daniel Golle, Qingfang Deng, SkyLake Huang, Heiner Kallweit,
Russell King, Arınç ÜNAL, Landen Chao, Sean Wang,
Lorenzo Bianconi, Felix Fietkau, netdev, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
On Fri, 16 May 2025 20:08:47 +0200 Frank Wunderlich wrote:
> Sorry, resent it by accident while sending v2 of my dts series.
> regards Frank
Unfortunately patchwork thought this is patch 1 of the series instead
of the bindings patch :(
Let's wait for binding reviews and maybe you could repost patches 1-3
for net-next without the dts ones?
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: (subset) [PATCH v2 00/14] further mt7988 devicetree work
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
` (14 preceding siblings ...)
2025-05-16 18:01 ` [PATCH v2 14/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure switch phys and leds Frank Wunderlich
@ 2025-05-20 10:17 ` AngeloGioacchino Del Regno
15 siblings, 0 replies; 25+ messages in thread
From: AngeloGioacchino Del Regno @ 2025-05-20 10:17 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, Frank Wunderlich
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
On Fri, 16 May 2025 20:01:30 +0200, Frank Wunderlich wrote:
> From: Frank Wunderlich <frank-w@public-files.de>
>
> This series continues mt7988 devicetree work
>
> - Add SPI with BPI-R4 nand to reach eMMC
> - Add thermal protection (fan+cooling-points)
> - Extend cpu frequency scaling with CCI
> - Basic network-support (ethernet controller + builtin switch + SFP Cages)
>
> [...]
Applied to v6.15-next/dts64, thanks!
[04/14] arm64: dts: mediatek: mt7988: add spi controllers
commit: 21e0977b4c074c393205b601509574820e534122
[05/14] arm64: dts: mediatek: mt7988: move uart0 and spi1 pins to soc dtsi
commit: 35818d5038e8003745f31d8a535dea245483b61a
[06/14] arm64: dts: mediatek: mt7988: add cci node
commit: 05c81fe3a6aab2a9df7a067b035ef7f269b66e24
[07/14] arm64: dts: mediatek: mt7988: add phy calibration efuse subnodes
commit: 22ebf43c4eef099beffc510ec0b2a2549668d8e5
[10/14] arm64: dts: mediatek: mt7988a-bpi-r4: Add fan and coolingmaps
commit: 1b8747157f8eda93545163f0401d9493780026fe
[11/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure spi-nodes
commit: 91c09be53d9a66cc93e998d8c3252dc4ef469ae9
[12/14] arm64: dts: mediatek: mt7988a-bpi-r4: add proc-supply for cci
commit: 2bb566a7f04bc775120d016a232d6b69005f3c97
Cheers,
Angelo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node
2025-05-16 18:01 ` [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node Frank Wunderlich
@ 2025-05-20 11:27 ` AngeloGioacchino Del Regno
2025-05-20 11:53 ` Frank Wunderlich
2025-05-20 17:08 ` Frank Wunderlich (linux)
0 siblings, 2 replies; 25+ messages in thread
From: AngeloGioacchino Del Regno @ 2025-05-20 11:27 UTC (permalink / raw)
To: Frank Wunderlich, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
Il 16/05/25 20:01, Frank Wunderlich ha scritto:
> From: Frank Wunderlich <frank-w@public-files.de>
>
> Add cci devicetree node for cpu frequency scaling.
>
> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
> ---
> arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 33 +++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
> index ab6fc09940b8..64466acb0e71 100644
> --- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
> @@ -12,6 +12,35 @@ / {
> #address-cells = <2>;
> #size-cells = <2>;
>
> + cci: cci {
> + compatible = "mediatek,mt8183-cci";
While you can keep the mediatek,mt8183-cci fallback, this needs its own compatible
as "mediatek,mt7988-cci", therefore, I had to drop this patch from the ones that I
picked.
Please add the new compatible both here and in the binding.
Cheers,
Angelo
> + clocks = <&mcusys CLK_MCU_BUS_DIV_SEL>,
> + <&topckgen CLK_TOP_XTAL>;
> + clock-names = "cci", "intermediate";
> + operating-points-v2 = <&cci_opp>;
> + };
> +
> + cci_opp: opp-table-cci {
> + compatible = "operating-points-v2";
> + opp-shared;
> + opp-480000000 {
> + opp-hz = /bits/ 64 <480000000>;
> + opp-microvolt = <850000>;
> + };
> + opp-660000000 {
> + opp-hz = /bits/ 64 <660000000>;
> + opp-microvolt = <850000>;
> + };
> + opp-900000000 {
> + opp-hz = /bits/ 64 <900000000>;
> + opp-microvolt = <850000>;
> + };
> + opp-1080000000 {
> + opp-hz = /bits/ 64 <1080000000>;
> + opp-microvolt = <900000>;
> + };
> + };
> +
> cpus {
> #address-cells = <1>;
> #size-cells = <0>;
> @@ -25,6 +54,7 @@ cpu0: cpu@0 {
> <&topckgen CLK_TOP_XTAL>;
> clock-names = "cpu", "intermediate";
> operating-points-v2 = <&cluster0_opp>;
> + mediatek,cci = <&cci>;
> };
>
> cpu1: cpu@1 {
> @@ -36,6 +66,7 @@ cpu1: cpu@1 {
> <&topckgen CLK_TOP_XTAL>;
> clock-names = "cpu", "intermediate";
> operating-points-v2 = <&cluster0_opp>;
> + mediatek,cci = <&cci>;
> };
>
> cpu2: cpu@2 {
> @@ -47,6 +78,7 @@ cpu2: cpu@2 {
> <&topckgen CLK_TOP_XTAL>;
> clock-names = "cpu", "intermediate";
> operating-points-v2 = <&cluster0_opp>;
> + mediatek,cci = <&cci>;
> };
>
> cpu3: cpu@3 {
> @@ -58,6 +90,7 @@ cpu3: cpu@3 {
> <&topckgen CLK_TOP_XTAL>;
> clock-names = "cpu", "intermediate";
> operating-points-v2 = <&cluster0_opp>;
> + mediatek,cci = <&cci>;
> };
>
> cluster0_opp: opp-table-0 {
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node
2025-05-20 11:27 ` AngeloGioacchino Del Regno
@ 2025-05-20 11:53 ` Frank Wunderlich
2025-05-20 11:55 ` AngeloGioacchino Del Regno
2025-05-20 17:08 ` Frank Wunderlich (linux)
1 sibling, 1 reply; 25+ messages in thread
From: Frank Wunderlich @ 2025-05-20 11:53 UTC (permalink / raw)
To: AngeloGioacchino Del Regno, Andrew Lunn, Vladimir Oltean,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
Am 20. Mai 2025 13:27:23 MESZ schrieb AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>:
>Il 16/05/25 20:01, Frank Wunderlich ha scritto:
>> From: Frank Wunderlich <frank-w@public-files.de>
>>
>> Add cci devicetree node for cpu frequency scaling.
>>
>> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
>> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
>> ---
>> arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 33 +++++++++++++++++++++++
>> 1 file changed, 33 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
>> index ab6fc09940b8..64466acb0e71 100644
>> --- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
>> @@ -12,6 +12,35 @@ / {
>> #address-cells = <2>;
>> #size-cells = <2>;
>> + cci: cci {
>> + compatible = "mediatek,mt8183-cci";
>
>While you can keep the mediatek,mt8183-cci fallback, this needs its own compatible
>as "mediatek,mt7988-cci", therefore, I had to drop this patch from the ones that I
>picked.
>
>Please add the new compatible both here and in the binding.
Ok,but you have to drop last one too (add proc-supply) else there are build-errors.
>Cheers,
>Angelo
>
regards Frank
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node
2025-05-20 11:53 ` Frank Wunderlich
@ 2025-05-20 11:55 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 25+ messages in thread
From: AngeloGioacchino Del Regno @ 2025-05-20 11:55 UTC (permalink / raw)
To: Frank Wunderlich, Andrew Lunn, Vladimir Oltean, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger
Cc: Frank Wunderlich, Arınç ÜNAL, Landen Chao,
DENG Qingfang, Sean Wang, Daniel Golle, Lorenzo Bianconi,
Felix Fietkau, netdev, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek
Il 20/05/25 13:53, Frank Wunderlich ha scritto:
> Am 20. Mai 2025 13:27:23 MESZ schrieb AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>:
>> Il 16/05/25 20:01, Frank Wunderlich ha scritto:
>>> From: Frank Wunderlich <frank-w@public-files.de>
>>>
>>> Add cci devicetree node for cpu frequency scaling.
>>>
>>> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
>>> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
>>> ---
>>> arch/arm64/boot/dts/mediatek/mt7988a.dtsi | 33 +++++++++++++++++++++++
>>> 1 file changed, 33 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
>>> index ab6fc09940b8..64466acb0e71 100644
>>> --- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
>>> +++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
>>> @@ -12,6 +12,35 @@ / {
>>> #address-cells = <2>;
>>> #size-cells = <2>;
>>> + cci: cci {
>>> + compatible = "mediatek,mt8183-cci";
>>
>> While you can keep the mediatek,mt8183-cci fallback, this needs its own compatible
>> as "mediatek,mt7988-cci", therefore, I had to drop this patch from the ones that I
>> picked.
>>
>> Please add the new compatible both here and in the binding.
>
> Ok,but you have to drop last one too (add proc-supply) else there are build-errors.
>
Many many thanks for the reminder, but yes, I already dropped that one too ;-)
>> Cheers,
>> Angelo
>>
>
>
> regards Frank
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node
2025-05-20 11:27 ` AngeloGioacchino Del Regno
2025-05-20 11:53 ` Frank Wunderlich
@ 2025-05-20 17:08 ` Frank Wunderlich (linux)
1 sibling, 0 replies; 25+ messages in thread
From: Frank Wunderlich (linux) @ 2025-05-20 17:08 UTC (permalink / raw)
To: AngeloGioacchino Del Regno
Cc: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, Frank Wunderlich,
Arınç ÜNAL, Landen Chao, DENG Qingfang, Sean Wang,
Daniel Golle, Lorenzo Bianconi, Felix Fietkau, netdev, devicetree,
linux-kernel, linux-arm-kernel, linux-mediatek
Am 2025-05-20 13:27, schrieb AngeloGioacchino Del Regno:
> Il 16/05/25 20:01, Frank Wunderlich ha scritto:
>> From: Frank Wunderlich <frank-w@public-files.de>
>>
>> Add cci devicetree node for cpu frequency scaling.
>> --- a/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
>> +++ b/arch/arm64/boot/dts/mediatek/mt7988a.dtsi
>> @@ -12,6 +12,35 @@ / {
>> #address-cells = <2>;
>> #size-cells = <2>;
>> + cci: cci {
>> + compatible = "mediatek,mt8183-cci";
>
> While you can keep the mediatek,mt8183-cci fallback, this needs its own
> compatible
> as "mediatek,mt7988-cci", therefore, I had to drop this patch from the
> ones that I
> picked.
>
> Please add the new compatible both here and in the binding.
Hi,
should i add the binding with 2 const (like the bpi-r4-2g5 compatible)
or first as enum
to allow easier addition of further SoC bindings with same fallback?
currently i changed binding like this (2nd variant):
properties:
compatible:
oneOf:
- items:
- enum:
- mediatek,mt8183-cci
- mediatek,mt8186-cci
- items:
- enum:
- mediatek,mt7988-cci
- const: mediatek,mt8183-cci
but noticed that these boards are missing the required proc-supply:
DTC [C] arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dtb
arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dtb: cci: 'proc-supply' is a
required property
from schema $id:
http://devicetree.org/schemas/interconnect/mediatek,cci.yaml#
DTC [C] arch/arm64/boot/dts/mediatek/mt8186-evb.dtb
arch/arm64/boot/dts/mediatek/mt8186-evb.dtb: cci: 'proc-supply' is a
required property
from schema $id:
http://devicetree.org/schemas/interconnect/mediatek,cci.yaml#
the others are clean so far. But because i do not have these boards i
cannot fix this without
anyone telling me the proc-supply for them.
In mt7988a.dtsi i can put both compatible on 1 line as there are only 75
chars, or should i
add linebreak here for better readability?
> Cheers,
> Angelo
regards Frank
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v2 01/14] dt-bindings: net: mediatek,net: update for mt7988
2025-05-16 18:01 ` [PATCH v2 01/14] dt-bindings: net: mediatek,net: update for mt7988 Frank Wunderlich
@ 2025-05-27 19:28 ` Rob Herring (Arm)
0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring (Arm) @ 2025-05-27 19:28 UTC (permalink / raw)
To: Frank Wunderlich
Cc: Daniel Golle, Conor Dooley, Vladimir Oltean, devicetree,
Sean Wang, Lorenzo Bianconi, linux-mediatek, Matthias Brugger,
Andrew Lunn, Felix Fietkau, linux-kernel, Frank Wunderlich,
netdev, Paolo Abeni, Eric Dumazet, DENG Qingfang, David S. Miller,
Krzysztof Kozlowski, AngeloGioacchino Del Regno, Jakub Kicinski,
Landen Chao, linux-arm-kernel, Arınç ÜNAL
On Fri, 16 May 2025 20:01:31 +0200, Frank Wunderlich wrote:
> From: Frank Wunderlich <frank-w@public-files.de>
>
> Update binding for mt7988 which has 3 gmac and 2 reg items.
>
> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
> ---
> v2:
> - change reg to list of items
> ---
> .../devicetree/bindings/net/mediatek,net.yaml | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v2 03/14] dt-bindings: net: dsa: mediatek,mt7530: add internal mdio bus
2025-05-16 18:01 ` [PATCH v2 03/14] dt-bindings: net: dsa: mediatek,mt7530: add internal mdio bus Frank Wunderlich
@ 2025-05-27 19:29 ` Rob Herring (Arm)
0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring (Arm) @ 2025-05-27 19:29 UTC (permalink / raw)
To: Frank Wunderlich
Cc: netdev, Sean Wang, AngeloGioacchino Del Regno, David S. Miller,
Vladimir Oltean, Krzysztof Kozlowski, Paolo Abeni,
Matthias Brugger, Conor Dooley, Jakub Kicinski, Daniel Golle,
Frank Wunderlich, Andrew Lunn, Landen Chao, linux-mediatek,
linux-arm-kernel, devicetree, Eric Dumazet, Felix Fietkau,
Lorenzo Bianconi, Arınç ÜNAL, DENG Qingfang,
linux-kernel
On Fri, 16 May 2025 20:01:34 +0200, Frank Wunderlich wrote:
> From: Frank Wunderlich <frank-w@public-files.de>
>
> Mt7988 buildin switch has own mdio bus where ge-phys are connected.
> Add related property for this.
>
> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
> ---
> v2:
> - change from patternproperty to property
> - add unevaluatedProperties and mediatek,pio subproperty
> ---
> .../devicetree/bindings/net/dsa/mediatek,mt7530.yaml | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2025-05-27 19:29 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-16 18:01 [PATCH v2 00/14] further mt7988 devicetree work Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 01/14] dt-bindings: net: mediatek,net: update for mt7988 Frank Wunderlich
2025-05-27 19:28 ` Rob Herring (Arm)
2025-05-16 18:01 ` [net-next, PATCH v2] net: phy: mediatek: do not require syscon compatible for pio property Frank Wunderlich
2025-05-16 18:08 ` Frank Wunderlich
2025-05-16 23:31 ` Jakub Kicinski
2025-05-16 18:01 ` [PATCH v2 02/14] dt-bindings: net: dsa: mediatek,mt7530: add dsa-port definition for mt7988 Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 03/14] dt-bindings: net: dsa: mediatek,mt7530: add internal mdio bus Frank Wunderlich
2025-05-27 19:29 ` Rob Herring (Arm)
2025-05-16 18:01 ` [PATCH v2 04/14] arm64: dts: mediatek: mt7988: add spi controllers Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 05/14] arm64: dts: mediatek: mt7988: move uart0 and spi1 pins to soc dtsi Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 06/14] arm64: dts: mediatek: mt7988: add cci node Frank Wunderlich
2025-05-20 11:27 ` AngeloGioacchino Del Regno
2025-05-20 11:53 ` Frank Wunderlich
2025-05-20 11:55 ` AngeloGioacchino Del Regno
2025-05-20 17:08 ` Frank Wunderlich (linux)
2025-05-16 18:01 ` [PATCH v2 07/14] arm64: dts: mediatek: mt7988: add phy calibration efuse subnodes Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 08/14] arm64: dts: mediatek: mt7988: add basic ethernet-nodes Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 09/14] arm64: dts: mediatek: mt7988: add switch node Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 10/14] arm64: dts: mediatek: mt7988a-bpi-r4: Add fan and coolingmaps Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 11/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure spi-nodes Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 12/14] arm64: dts: mediatek: mt7988a-bpi-r4: add proc-supply for cci Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 13/14] arm64: dts: mediatek: mt7988a-bpi-r4: add sfp cages and link to gmac Frank Wunderlich
2025-05-16 18:01 ` [PATCH v2 14/14] arm64: dts: mediatek: mt7988a-bpi-r4: configure switch phys and leds Frank Wunderlich
2025-05-20 10:17 ` (subset) [PATCH v2 00/14] further mt7988 devicetree work AngeloGioacchino Del Regno
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).