riscv: sophgo: add top syscon device for cv18xx
Subsystems (3)
v5 cover riscv: sophgo: add top syscon device for cv18xx
Add top syscon device bindings related DTS change for CV1800.
---
Changes from v4:
- https://lore.kernel.org/all/[email protected]/
- Drop the labels in the example.
- Drop the patternProperties.
Changes from v3:
- https://lore.kernel.org/all/[email protected]/
- Corrected Co-developed-by information in commit message.
- Fixed patch version number.
Changes from v2:
- https://lore.kernel.org/all/[email protected]/
- Add ranges property.
- Use proper regex in patternProperties.
- Add complete example including child nodes.
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 | 80 +++++++++++++++++++ .../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, 137 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/sophgo/sophgo,cv1800b-top-syscon.yaml
--
2.51.0
PATCH v5 1/3 dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
The Sophgo CV18XX/SG200X 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 | 80 +++++++++++++++++++ 1 file changed, 80 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 +80 -0
@@ -0,0 +1,80 @@ +# 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 + + ranges: true + + 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: + - | + #include <dt-bindings/clock/sophgo,cv1800.h> + + syscon@3000000 { + compatible = "sophgo,cv1800b-top-syscon", "syscon", "simple-mfd"; + reg = <0x03000000 0x1000>; + #address-cells = <1>; + #size-cells = <1>; + + 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 58>; + }; + + dma-router@154 { + compatible = "sophgo,cv1800b-dmamux"; + reg = <0x154 0x8>, <0x298 0x4>; + #dma-cells = <2>; + dma-masters = <&dmac>; + }; + }; + +...
--
2.51.0
Re: [PATCH v5 1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
Quoted 7 lines · Longbin Li
The Sophgo CV18XX/SG200X SoC top misc system controller provides register access to configure related modules. It includes a usb2 phy and a dma multiplexer.
Co-developed-by Inochi Amaoto <[email protected]>Signed-off-by Inochi Amaoto <[email protected]>Signed-off-by Longbin Li <[email protected]>
pw-bot: not-applicable
PATCH v5 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 v5 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
Quoted 2 lines · Longbin Li
Add top syscon device bindings related DTS change for CV1800.
Applied to dt/riscv, thanks!
[1/3] dt-bindings: soc: sophgo: add TOP syscon for CV18XX/SG200X series SoC
https://github.com/sophgo/linux/commit/565c450124c105a0b4f4ff3265e19502d44bf23b [2/3] riscv: dts: sophgo: Add syscon node for cv18xx https://github.com/sophgo/linux/commit/126a1b3c61cbec15ffaadf141adb9c4163da1757 [3/3] riscv: dts: sophgo: Add USB support for cv18xx https://github.com/sophgo/linux/commit/e307248a3c2df4432a7bbbde306ffcb33ec55898
Thanks,
Inochi