diff mbox series

[v3,05/12] dt-bindings: soc: Add Aspeed XDMA Engine

Message ID 1576681778-18737-6-git-send-email-eajames@linux.ibm.com
State Changes Requested, archived
Headers show
Series aspeed: Add SCU interrupt controller and XDMA engine drivers | expand

Commit Message

Eddie James Dec. 18, 2019, 3:09 p.m. UTC
Document the bindings for the Aspeed AST25XX and AST26XX XDMA engine.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Changes since v2:
 - Remove 'sdmc', rename 'vga-mem' to 'memory'

 .../devicetree/bindings/soc/aspeed/xdma.txt   | 40 +++++++++++++++++++
 MAINTAINERS                                   |  6 +++
 2 files changed, 46 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/aspeed/xdma.txt

Comments

Andrew Jeffery Dec. 18, 2019, 11:12 p.m. UTC | #1
On Thu, 19 Dec 2019, at 01:39, Eddie James wrote:
> Document the bindings for the Aspeed AST25XX and AST26XX XDMA engine.
> 
> Signed-off-by: Eddie James <eajames@linux.ibm.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> ---
> Changes since v2:
>  - Remove 'sdmc', rename 'vga-mem' to 'memory'
> 
>  .../devicetree/bindings/soc/aspeed/xdma.txt   | 40 +++++++++++++++++++
>  MAINTAINERS                                   |  6 +++
>  2 files changed, 46 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/soc/aspeed/xdma.txt
> 
> diff --git a/Documentation/devicetree/bindings/soc/aspeed/xdma.txt 
> b/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
> new file mode 100644
> index 000000000000..58253ea1587b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
> @@ -0,0 +1,40 @@
> +Aspeed AST25XX and AST26XX XDMA Engine
> +
> +The XDMA Engine embedded in the AST2500 and AST2600 SOCs can perform 
> automatic
> +DMA operations over PCI between the SOC (acting as a BMC) and a host 
> processor.
> +
> +Required properties:
> + - compatible		: must be "aspeed,ast2500-xdma" or
> +			  "aspeed,ast2600-xdma"
> + - reg			: contains the address and size of the memory region
> +			  associated with the XDMA engine registers
> + - clocks		: clock specifier for the clock associated with the
> +			  XDMA engine
> + - resets		: reset specifier for the syscon reset associated with
> +			  the XDMA engine
> + - interrupts-extended	: two interrupt cells; the first specifies the 
> global
> +			  interrupt for the XDMA engine and the second
> +			  specifies the PCI-E reset or PERST interrupt.
> + - scu			: a phandle to the syscon node for the system control
> +			  unit of the SOC

I think this should be aspeed,scu.

> + - memory		: contains the address and size of the memory area to
> +			  be used by the XDMA engine for DMA operations

Hmm, I was thinking more like a phandle to a reserved memory region,
like we have in the aspeed-lpc-ctrl binding.

> +
> +Optional properties:
> + - pcie-device		: should be either "bmc" or "vga", corresponding to
> +			  which device should be used by the XDMA engine for
> +			  DMA operations. If this property is not set, the XDMA
> +			  engine will use the BMC PCI-E device.
> +
> +Example:
> +
> +    xdma@1e6e7000 {
> +        compatible = "aspeed,ast2500-xdma";
> +        reg = <0x1e6e7000 0x100>;
> +        clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
> +        resets = <&syscon ASPEED_RESET_XDMA>;
> +        interrupts-extended = <&vic 6>, <&scu_ic 
> ASPEED_AST2500_SCU_IC_PCIE_RESET_LO_TO_HI>;
> +        scu = <&syscon>;
> +        pcie-device = "bmc";
> +        memory = <0x9f000000 0x01000000>;
> +    };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ac9c120d192b..8a14d4268bdc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2708,6 +2708,12 @@ S:	Maintained
>  F:	drivers/media/platform/aspeed-video.c
>  F:	Documentation/devicetree/bindings/media/aspeed-video.txt
>  
> +ASPEED XDMA ENGINE DRIVER
> +M:	Eddie James <eajames@linux.ibm.com>
> +L:	linux-aspeed@lists.ozlabs.org (moderated for non-subscribers)
> +S:	Maintained
> +F:	Documentation/devicetree/bindings/soc/aspeed/xdma.txt
> +
>  ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS
>  M:	Corentin Chary <corentin.chary@gmail.com>
>  L:	acpi4asus-user@lists.sourceforge.net
> -- 
> 2.24.0
> 
>
Eddie James Dec. 19, 2019, 3:48 p.m. UTC | #2
On 12/18/19 5:12 PM, Andrew Jeffery wrote:
>
> On Thu, 19 Dec 2019, at 01:39, Eddie James wrote:
>> Document the bindings for the Aspeed AST25XX and AST26XX XDMA engine.
>>
>> Signed-off-by: Eddie James <eajames@linux.ibm.com>
>> Reviewed-by: Rob Herring <robh@kernel.org>
>> ---
>> Changes since v2:
>>   - Remove 'sdmc', rename 'vga-mem' to 'memory'
>>
>>   .../devicetree/bindings/soc/aspeed/xdma.txt   | 40 +++++++++++++++++++
>>   MAINTAINERS                                   |  6 +++
>>   2 files changed, 46 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/soc/aspeed/xdma.txt
>>
>> diff --git a/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
>> b/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
>> new file mode 100644
>> index 000000000000..58253ea1587b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
>> @@ -0,0 +1,40 @@
>> +Aspeed AST25XX and AST26XX XDMA Engine
>> +
>> +The XDMA Engine embedded in the AST2500 and AST2600 SOCs can perform
>> automatic
>> +DMA operations over PCI between the SOC (acting as a BMC) and a host
>> processor.
>> +
>> +Required properties:
>> + - compatible		: must be "aspeed,ast2500-xdma" or
>> +			  "aspeed,ast2600-xdma"
>> + - reg			: contains the address and size of the memory region
>> +			  associated with the XDMA engine registers
>> + - clocks		: clock specifier for the clock associated with the
>> +			  XDMA engine
>> + - resets		: reset specifier for the syscon reset associated with
>> +			  the XDMA engine
>> + - interrupts-extended	: two interrupt cells; the first specifies the
>> global
>> +			  interrupt for the XDMA engine and the second
>> +			  specifies the PCI-E reset or PERST interrupt.
>> + - scu			: a phandle to the syscon node for the system control
>> +			  unit of the SOC
> I think this should be aspeed,scu.


Sure.


>
>> + - memory		: contains the address and size of the memory area to
>> +			  be used by the XDMA engine for DMA operations
> Hmm, I was thinking more like a phandle to a reserved memory region,
> like we have in the aspeed-lpc-ctrl binding.


I think I mentioned before, but that doesn't work with the VGA memory. 
Linux can't reserve it. I haven't quite understood what happens in the 
memory system but I've tried it and it didn't work.


>
>> +
>> +Optional properties:
>> + - pcie-device		: should be either "bmc" or "vga", corresponding to
>> +			  which device should be used by the XDMA engine for
>> +			  DMA operations. If this property is not set, the XDMA
>> +			  engine will use the BMC PCI-E device.
>> +
>> +Example:
>> +
>> +    xdma@1e6e7000 {
>> +        compatible = "aspeed,ast2500-xdma";
>> +        reg = <0x1e6e7000 0x100>;
>> +        clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
>> +        resets = <&syscon ASPEED_RESET_XDMA>;
>> +        interrupts-extended = <&vic 6>, <&scu_ic
>> ASPEED_AST2500_SCU_IC_PCIE_RESET_LO_TO_HI>;
>> +        scu = <&syscon>;
>> +        pcie-device = "bmc";
>> +        memory = <0x9f000000 0x01000000>;
>> +    };
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index ac9c120d192b..8a14d4268bdc 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -2708,6 +2708,12 @@ S:	Maintained
>>   F:	drivers/media/platform/aspeed-video.c
>>   F:	Documentation/devicetree/bindings/media/aspeed-video.txt
>>   
>> +ASPEED XDMA ENGINE DRIVER
>> +M:	Eddie James <eajames@linux.ibm.com>
>> +L:	linux-aspeed@lists.ozlabs.org (moderated for non-subscribers)
>> +S:	Maintained
>> +F:	Documentation/devicetree/bindings/soc/aspeed/xdma.txt
>> +
>>   ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS
>>   M:	Corentin Chary <corentin.chary@gmail.com>
>>   L:	acpi4asus-user@lists.sourceforge.net
>> -- 
>> 2.24.0
>>
>>
Andrew Jeffery Dec. 19, 2019, 9:14 p.m. UTC | #3
On Fri, 20 Dec 2019, at 02:18, Eddie James wrote:
> 
> On 12/18/19 5:12 PM, Andrew Jeffery wrote:
> >
> > On Thu, 19 Dec 2019, at 01:39, Eddie James wrote:
> >> Document the bindings for the Aspeed AST25XX and AST26XX XDMA engine.
> >>
> >> Signed-off-by: Eddie James <eajames@linux.ibm.com>
> >> Reviewed-by: Rob Herring <robh@kernel.org>
> >> ---
> >> Changes since v2:
> >>   - Remove 'sdmc', rename 'vga-mem' to 'memory'
> >>
> >>   .../devicetree/bindings/soc/aspeed/xdma.txt   | 40 +++++++++++++++++++
> >>   MAINTAINERS                                   |  6 +++
> >>   2 files changed, 46 insertions(+)
> >>   create mode 100644 Documentation/devicetree/bindings/soc/aspeed/xdma.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
> >> b/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
> >> new file mode 100644
> >> index 000000000000..58253ea1587b
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
> >> @@ -0,0 +1,40 @@
> >> +Aspeed AST25XX and AST26XX XDMA Engine
> >> +
> >> +The XDMA Engine embedded in the AST2500 and AST2600 SOCs can perform
> >> automatic
> >> +DMA operations over PCI between the SOC (acting as a BMC) and a host
> >> processor.
> >> +
> >> +Required properties:
> >> + - compatible		: must be "aspeed,ast2500-xdma" or
> >> +			  "aspeed,ast2600-xdma"
> >> + - reg			: contains the address and size of the memory region
> >> +			  associated with the XDMA engine registers
> >> + - clocks		: clock specifier for the clock associated with the
> >> +			  XDMA engine
> >> + - resets		: reset specifier for the syscon reset associated with
> >> +			  the XDMA engine
> >> + - interrupts-extended	: two interrupt cells; the first specifies the
> >> global
> >> +			  interrupt for the XDMA engine and the second
> >> +			  specifies the PCI-E reset or PERST interrupt.
> >> + - scu			: a phandle to the syscon node for the system control
> >> +			  unit of the SOC
> > I think this should be aspeed,scu.
> 
> 
> Sure.
> 
> 
> >
> >> + - memory		: contains the address and size of the memory area to
> >> +			  be used by the XDMA engine for DMA operations
> > Hmm, I was thinking more like a phandle to a reserved memory region,
> > like we have in the aspeed-lpc-ctrl binding.
> 
> 
> I think I mentioned before, but that doesn't work with the VGA memory. 
> Linux can't reserve it. I haven't quite understood what happens in the 
> memory system but I've tried it and it didn't work.
> 

Yeah, I think you have mentioned that before, sorry for the noise.

Andrew
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/soc/aspeed/xdma.txt b/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
new file mode 100644
index 000000000000..58253ea1587b
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/aspeed/xdma.txt
@@ -0,0 +1,40 @@ 
+Aspeed AST25XX and AST26XX XDMA Engine
+
+The XDMA Engine embedded in the AST2500 and AST2600 SOCs can perform automatic
+DMA operations over PCI between the SOC (acting as a BMC) and a host processor.
+
+Required properties:
+ - compatible		: must be "aspeed,ast2500-xdma" or
+			  "aspeed,ast2600-xdma"
+ - reg			: contains the address and size of the memory region
+			  associated with the XDMA engine registers
+ - clocks		: clock specifier for the clock associated with the
+			  XDMA engine
+ - resets		: reset specifier for the syscon reset associated with
+			  the XDMA engine
+ - interrupts-extended	: two interrupt cells; the first specifies the global
+			  interrupt for the XDMA engine and the second
+			  specifies the PCI-E reset or PERST interrupt.
+ - scu			: a phandle to the syscon node for the system control
+			  unit of the SOC
+ - memory		: contains the address and size of the memory area to
+			  be used by the XDMA engine for DMA operations
+
+Optional properties:
+ - pcie-device		: should be either "bmc" or "vga", corresponding to
+			  which device should be used by the XDMA engine for
+			  DMA operations. If this property is not set, the XDMA
+			  engine will use the BMC PCI-E device.
+
+Example:
+
+    xdma@1e6e7000 {
+        compatible = "aspeed,ast2500-xdma";
+        reg = <0x1e6e7000 0x100>;
+        clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
+        resets = <&syscon ASPEED_RESET_XDMA>;
+        interrupts-extended = <&vic 6>, <&scu_ic ASPEED_AST2500_SCU_IC_PCIE_RESET_LO_TO_HI>;
+        scu = <&syscon>;
+        pcie-device = "bmc";
+        memory = <0x9f000000 0x01000000>;
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index ac9c120d192b..8a14d4268bdc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2708,6 +2708,12 @@  S:	Maintained
 F:	drivers/media/platform/aspeed-video.c
 F:	Documentation/devicetree/bindings/media/aspeed-video.txt
 
+ASPEED XDMA ENGINE DRIVER
+M:	Eddie James <eajames@linux.ibm.com>
+L:	linux-aspeed@lists.ozlabs.org (moderated for non-subscribers)
+S:	Maintained
+F:	Documentation/devicetree/bindings/soc/aspeed/xdma.txt
+
 ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS
 M:	Corentin Chary <corentin.chary@gmail.com>
 L:	acpi4asus-user@lists.sourceforge.net