riscv: sophgo: add top syscon device for cv18xx
Subsystems (3)
cover riscv: sophgo: add top syscon device for cv18xx
Add top syscon device bindings related DTS change for CV1800.
Changed by RFC:
https://lore.kernel.org/all/[email protected]/
Longbin Li (3):
dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
riscv: dts: sophgo: Add syscon node for cv18xx
riscv: dts: sophgo: Add USB support for cv18xx
.../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 59 +++++++++++++++++++ .../boot/dts/sophgo/cv1800b-milkv-duo.dts | 5 ++ arch/riscv/boot/dts/sophgo/cv180x.dtsi | 42 +++++++++++++ .../boot/dts/sophgo/cv1812h-huashan-pi.dts | 5 ++ .../dts/sophgo/sg2002-licheerv-nano-b.dts | 5 ++ 5 files changed, 116 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
--
2.51.0
PATCH 1/3 dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
The Sophgo CV1800/SG2000 SoC top misc system controller provides register access to configure related modules. It includes a usb2 phy and a dma multiplexer.
--- .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +59 -0
@@ -0,0 +1,59 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800b-top-syscon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sophgo CV18XX/SG200X SoC top system controller + +maintainers: + - Inochi Amaoto <[email protected]> + +description: + The Sophgo CV18XX/SG200X SoC top misc system controller provides + register access to configure related modules. + +properties: + compatible: + oneOf: + - items: + - const: sophgo,cv1800b-top-syscon + - const: syscon + - const: simple-mfd + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 1 + +patternProperties: + "dma-router@154": + $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml# + unevaluatedProperties: false + + "phy@48": + $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml# + unevaluatedProperties: false + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + - | + syscon@3000000 { + compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd"; + reg = <0x03000000 0x1000>; + #address-cells = <1>; + #size-cells = <1>; + }; + +...
--
2.51.0
Rob Herring
maintainerRe: [PATCH v1 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
Quoted 38 lines · Longbin Li
The Sophgo CV1800/SG2000 SoC top misc system controller provides register access to configure related modules. It includes a usb2 phy and a dma multiplexer.
Signed-off-by Inochi Amaoto <[email protected]>Signed-off-by Longbin Li <[email protected]>--- .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yamlDocumentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +21
-0@@ -0,0 +1,59 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800b-top-syscon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sophgo CV18XX/SG200X SoC top system controller + +maintainers: + - Inochi Amaoto <[email protected]> + +description: + The Sophgo CV18XX/SG200X SoC top misc system controller provides + register access to configure related modules. + +properties: + compatible: + oneOf: + - items: + - const: sophgo,cv1800b-top-syscon + - const: syscon
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml line 31
Quoted 10 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +10
-0+ - const: simple-mfd + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 1
Also need 'ranges'
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml line 34
Quoted 3 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +3
-0+ +patternProperties: + "dma-router@154":
This allows 'foodma-router@154bar'. It's not a pattern as-is, but generally we don't put fixed unit-addresses into the schema. So instead, should be "^dma-router@[0-9a-f]+$".
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml line 38
Quoted 4 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +4
-0+ $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml# + unevaluatedProperties: false + + "phy@48":
And similar here.
Quoted 8 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +8
-0+ $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml# + unevaluatedProperties: false + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells"
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml line 56
Quoted 10 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +10
-0+ +additionalProperties: false + +examples: + - | + syscon@3000000 { + compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd"; + reg = <0x03000000 0x1000>; + #address-cells = <1>; + #size-cells = <1>;
Please make the example complete with child nodes.
Quoted 5 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +3
-1+ }; + +... --2.51.0
Re: [PATCH v1 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
Quoted 79 lines · Rob Herring
Quoted 38 lines · Longbin Li
The Sophgo CV1800/SG2000 SoC top misc system controller provides register access to configure related modules. It includes a usb2 phy and a dma multiplexer.
Signed-off-by Inochi Amaoto <[email protected]>Signed-off-by Longbin Li <[email protected]>--- .../soc/sophgo/sophgo,cv1800b-top-syscon.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yamlDocumentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +21
-0@@ -0,0 +1,59 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/sophgo/sophgo,cv1800b-top-syscon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sophgo CV18XX/SG200X SoC top system controller + +maintainers: + - Inochi Amaoto <[email protected]> + +description: + The Sophgo CV18XX/SG200X SoC top misc system controller provides + register access to configure related modules. + +properties: + compatible: + oneOf: + - items: + - const: sophgo,cv1800b-top-syscon + - const: sysconDocumentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml line 31
Quoted 10 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +10
-0+ - const: simple-mfd + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 1Also need 'ranges'
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml line 34
Quoted 3 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +3
-0+ +patternProperties: + "dma-router@154":This allows 'foodma-router@154bar'. It's not a pattern as-is, but generally we don't put fixed unit-addresses into the schema. So instead, should be "^dma-router@[0-9a-f]+$".
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml line 38
Quoted 4 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +4
-0+ $ref: /schemas/dma/sophgo,cv1800b-dmamux.yaml# + unevaluatedProperties: false + + "phy@48":And similar here.
Quoted 12 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +12
-0+ $ref: /schemas/phy/sophgo,cv1800b-usb2-phy.yaml# + unevaluatedProperties: false + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples:
Quoted 14 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml line 56
Quoted 6 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +6
-0+ - | + syscon@3000000 { + compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd"; + reg = <0x03000000 0x1000>; + #address-cells = <1>; + #size-cells = <1>;Please make the example complete with child nodes.
Quoted 5 lines
Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml new file +3
-1+ }; + +... --2.51.0
Thanks, I will fix it.
longbin li
PATCH 2/3 riscv: dts: sophgo: Add syscon node for cv18xx
In reply to Longbin LiAdd top syscon node and all subdevice nodes for cv18xx series SoC.
--- arch/riscv/boot/dts/sophgo/cv180x.dtsi | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
arch/riscv/boot/dts/sophgo/cv180x.dtsi +26 -0
@@ -25,6 +25,32 @@ soc { #size-cells = <1>; ranges; + syscon: syscon@3000000 { + compatible = "sophgo,cv1800b-top-syscon", + "syscon", "simple-mfd"; + reg = <0x03000000 0x1000>; + #address-cells = <1>; + #size-cells = <1>; + + usbphy: phy@48 { + compatible = "sophgo,cv1800b-usb2-phy"; + reg = <0x48 0x4>; + #phy-cells = <0>; + clocks = <&clk CLK_USB_125M>, + <&clk CLK_USB_33K>, + <&clk CLK_USB_12M>; + clock-names = "app", "stb", "lpm"; + resets = <&rst RST_COMBO_PHY0>; + }; + + dmamux: dma-router@154 { + compatible = "sophgo,cv1800b-dmamux"; + reg = <0x154 0x8>, <0x298 0x4>; + #dma-cells = <2>; + dma-masters = <&dmac>; + }; + }; + rst: reset-controller@3003000 { compatible = "sophgo,cv1800b-reset"; reg = <0x3003000 0x1000>;
--
2.51.0
PATCH 3/3 riscv: dts: sophgo: Add USB support for cv18xx
In reply to Longbin LiAdd USB controller node for cv18xx and enable it for Huashan Pi, milkv-duo.
--- arch/riscv/boot/dts/sophgo/cv1800b-milkv-duo.dts | 5 +++++ arch/riscv/boot/dts/sophgo/cv180x.dtsi | 16 ++++++++++++++++ .../riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts | 5 +++++ .../boot/dts/sophgo/sg2002-licheerv-nano-b.dts | 5 +++++ 4 files changed, 31 insertions(+)
arch/riscv/boot/dts/sophgo/cv1800b-milkv-duo.dts +5 -0
@@ -100,3 +100,8 @@ &uart0 { pinctrl-names = "default"; status = "okay"; }; + +&usb { + dr_mode = "host"; + status = "okay"; +};
arch/riscv/boot/dts/sophgo/cv180x.dtsi +16 -0
@@ -432,6 +432,22 @@ dmac: dma-controller@4330000 { status = "disabled"; }; + usb: usb@4340000 { + compatible = "sophgo,cv1800b-usb"; + reg = <0x04340000 0x10000>; + clocks = <&clk CLK_AXI4_USB>, <&clk CLK_APB_USB>; + clock-names = "otg", "utmi"; + g-np-tx-fifo-size = <32>; + g-rx-fifo-size = <536>; + g-tx-fifo-size = <768 512 512 384 128 128>; + interrupts = <SOC_PERIPHERAL_IRQ(14) IRQ_TYPE_LEVEL_HIGH>; + phys = <&usbphy>; + phy-names = "usb2-phy"; + resets = <&rst RST_USB>; + reset-names = "dwc2"; + status = "disabled"; + }; + rtc@5025000 { compatible = "sophgo,cv1800b-rtc", "syscon"; reg = <0x5025000 0x2000>;
arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts +5 -0
@@ -86,3 +86,8 @@ &sdhci1 { &uart0 { status = "okay"; }; + +&usb { + dr_mode = "host"; + status = "okay"; +};
arch/riscv/boot/dts/sophgo/sg2002-licheerv-nano-b.dts +5 -0
@@ -93,3 +93,8 @@ &uart0 { pinctrl-names = "default"; status = "okay"; }; + +&usb { + dr_mode = "host"; + status = "okay"; +};
--
2.51.0