From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
linux-pwm@vger.kernel.org, dri-devel@lists.freedesktop.org,
Thierry Reding <thierry.reding@gmail.com>,
linux-riscv@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-leds@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
Herbert Xu <herbert@gondor.apana.org.au>,
linux-clk@vger.kernel.org, linux-rockchip@lists.infradead.org,
bcm-kernel-feedback-list@broadcom.com,
Guenter Roeck <linux@roeck-us.net>,
devicetree@vger.kernel.org, linux-watchdog@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-rpi-kernel@lists.infradead.org,
Matt Mackall <mpm@selenic.com>,
linux-tegra@vger.kernel.org, linux-amlogic@lists.infradead.org,
Wim Van Sebroeck <wim@linux-watchdog.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org
Subject: Re: [PATCH v2 2/8] dt-bindings: sram: Convert SRAM bindings to json-schema
Date: Tue, 1 Oct 2019 09:00:03 -0500 [thread overview]
Message-ID: <20191001140003.GA31344@bogus> (raw)
In-Reply-To: <20190918173141.4314-2-krzk@kernel.org>
On Wed, Sep 18, 2019 at 07:31:35PM +0200, Krzysztof Kozlowski wrote:
> Convert generic mmio-sram bindings to DT schema format using
> json-schema.
I've been slow getting to this because I started on the same thing...
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
>
> ---
>
> Changes since v1:
> 1. Indent example with four spaces (more readable).
> ---
> .../devicetree/bindings/sram/sram.txt | 80 ----------
> .../devicetree/bindings/sram/sram.yaml | 138 ++++++++++++++++++
> 2 files changed, 138 insertions(+), 80 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sram/sram.txt
> create mode 100644 Documentation/devicetree/bindings/sram/sram.yaml
> diff --git a/Documentation/devicetree/bindings/sram/sram.yaml b/Documentation/devicetree/bindings/sram/sram.yaml
> new file mode 100644
> index 000000000000..8d9d6ce494b2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sram/sram.yaml
> @@ -0,0 +1,138 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sram/sram.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic on-chip SRAM
> +
> +maintainers:
> + - FIXME <who@should.it.be>
You can put me.
> +
> +description: |+
> + Simple IO memory regions to be managed by the genalloc API.
> +
> + Each child of the sram node specifies a region of reserved memory. Each
> + child node should use a 'reg' property to specify a specific range of
> + reserved memory.
> +
> + Following the generic-names recommended practice, node names should
> + reflect the purpose of the node. Unit address (@<address>) should be
> + appended to the name.
> +
> +properties:
> + $nodename:
> + pattern: "^sram(@.*)?"
> +
> + compatible:
> + items:
> + - enum:
> + - mmio-sram
> + - atmel,sama5d2-securam
I was trying to go down the path of putting all the compatibles for
various SRAM bindings here, but I ran into some issues. I need to
revisit as I've forgotten the exact issue.
This would need to be a 'contains' if this is going to work for others.
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + description: Should use the same values as the root node.
> +
> + "#size-cells":
> + description: Should use the same values as the root node.
I defined both of these to be 1 as 4GB of SRAM should be enough for a
while. We can debate 1 or 2 cells vs. 1, but there's no reason it has to
be the same as the root (unless we're failing to do address
translation).
> +
> + ranges:
> + description:
> + Should translate from local addresses within the sram to bus addresses.
> +
> + no-memory-wc:
> + description:
> + The flag indicating, that SRAM memory region has not to be remapped
> + as write combining. WC is used by default.
> + type: boolean
> +
> + # TODO: additionalProperties: false
> +
> +patternProperties:
> + "^([a-z]*-)?sram@[a-f0-9]$":
> + type: object
> + description:
> + Each child of the sram node specifies a region of reserved memory.
> + properties:
> + reg:
> + description:
> + IO mem address range, relative to the SRAM range.
maxItems: 1
> +
> + compatible:
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + Should contain a vendor specific string in the form
> + <vendor>,[<device>-]<usage>
> +
> + pool:
> + description:
> + Indicates that the particular reserved SRAM area is addressable
> + and in use by another device or devices.
> + type: boolean
> +
> + export:
> + description:
> + Indicates that the reserved SRAM area may be accessed outside
> + of the kernel, e.g. by bootloader or userspace.
> + type: boolean
> +
> + protect-exec:
> + description: |
> + Same as 'pool' above but with the additional constraint that code
> + will be run from the region and that the memory is maintained as
> + read-only, executable during code execution. NOTE: This region must
> + be page aligned on start and end in order to properly allow
> + manipulation of the page attributes.
> + type: boolean
> +
> + label:
> + $ref: /schemas/types.yaml#/definitions/string
Already has a type definition.
> + description:
> + The name for the reserved partition, if omitted, the label is taken
> + from the node name excluding the unit address.
> +
> + clocks:
> + description:
> + A list of phandle and clock specifier pair that controls the
> + single SRAM clock.
> +
> + # TODO: additionalProperties: false
> +
> + required:
> + - reg
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> +
> +examples:
> + - |
> + sram: sram@5c000000 {
> + compatible = "mmio-sram";
> + reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0 0x5c000000 0x40000>;
> +
> + smp-sram@100 {
> + compatible = "socvendor,smp-sram";
> + reg = <0x100 0x50>;
> + };
> +
> + device-sram@1000 {
> + reg = <0x1000 0x1000>;
> + pool;
> + };
> +
> + exported@20000 {
> + reg = <0x20000 0x20000>;
> + export;
> + };
> + };
> --
> 2.17.1
>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
Thierry Reding <thierry.reding@gmail.com>,
Matt Mackall <mpm@selenic.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Wim Van Sebroeck <wim@linux-watchdog.org>,
Guenter Roeck <linux@roeck-us.net>,
linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-pwm@vger.kernel.org,
linux-tegra@vger.kernel.org,
bcm-kernel-feedback-list@broadcom.com,
linux-rpi-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org,
linux-mediatek@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-riscv@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-crypto@vger.kernel.org, linux-watchdog@vger.kernel.org
Subject: Re: [PATCH v2 2/8] dt-bindings: sram: Convert SRAM bindings to json-schema
Date: Tue, 1 Oct 2019 09:00:03 -0500 [thread overview]
Message-ID: <20191001140003.GA31344@bogus> (raw)
In-Reply-To: <20190918173141.4314-2-krzk@kernel.org>
On Wed, Sep 18, 2019 at 07:31:35PM +0200, Krzysztof Kozlowski wrote:
> Convert generic mmio-sram bindings to DT schema format using
> json-schema.
I've been slow getting to this because I started on the same thing...
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
>
> ---
>
> Changes since v1:
> 1. Indent example with four spaces (more readable).
> ---
> .../devicetree/bindings/sram/sram.txt | 80 ----------
> .../devicetree/bindings/sram/sram.yaml | 138 ++++++++++++++++++
> 2 files changed, 138 insertions(+), 80 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sram/sram.txt
> create mode 100644 Documentation/devicetree/bindings/sram/sram.yaml
> diff --git a/Documentation/devicetree/bindings/sram/sram.yaml b/Documentation/devicetree/bindings/sram/sram.yaml
> new file mode 100644
> index 000000000000..8d9d6ce494b2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sram/sram.yaml
> @@ -0,0 +1,138 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sram/sram.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic on-chip SRAM
> +
> +maintainers:
> + - FIXME <who@should.it.be>
You can put me.
> +
> +description: |+
> + Simple IO memory regions to be managed by the genalloc API.
> +
> + Each child of the sram node specifies a region of reserved memory. Each
> + child node should use a 'reg' property to specify a specific range of
> + reserved memory.
> +
> + Following the generic-names recommended practice, node names should
> + reflect the purpose of the node. Unit address (@<address>) should be
> + appended to the name.
> +
> +properties:
> + $nodename:
> + pattern: "^sram(@.*)?"
> +
> + compatible:
> + items:
> + - enum:
> + - mmio-sram
> + - atmel,sama5d2-securam
I was trying to go down the path of putting all the compatibles for
various SRAM bindings here, but I ran into some issues. I need to
revisit as I've forgotten the exact issue.
This would need to be a 'contains' if this is going to work for others.
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + description: Should use the same values as the root node.
> +
> + "#size-cells":
> + description: Should use the same values as the root node.
I defined both of these to be 1 as 4GB of SRAM should be enough for a
while. We can debate 1 or 2 cells vs. 1, but there's no reason it has to
be the same as the root (unless we're failing to do address
translation).
> +
> + ranges:
> + description:
> + Should translate from local addresses within the sram to bus addresses.
> +
> + no-memory-wc:
> + description:
> + The flag indicating, that SRAM memory region has not to be remapped
> + as write combining. WC is used by default.
> + type: boolean
> +
> + # TODO: additionalProperties: false
> +
> +patternProperties:
> + "^([a-z]*-)?sram@[a-f0-9]$":
> + type: object
> + description:
> + Each child of the sram node specifies a region of reserved memory.
> + properties:
> + reg:
> + description:
> + IO mem address range, relative to the SRAM range.
maxItems: 1
> +
> + compatible:
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + Should contain a vendor specific string in the form
> + <vendor>,[<device>-]<usage>
> +
> + pool:
> + description:
> + Indicates that the particular reserved SRAM area is addressable
> + and in use by another device or devices.
> + type: boolean
> +
> + export:
> + description:
> + Indicates that the reserved SRAM area may be accessed outside
> + of the kernel, e.g. by bootloader or userspace.
> + type: boolean
> +
> + protect-exec:
> + description: |
> + Same as 'pool' above but with the additional constraint that code
> + will be run from the region and that the memory is maintained as
> + read-only, executable during code execution. NOTE: This region must
> + be page aligned on start and end in order to properly allow
> + manipulation of the page attributes.
> + type: boolean
> +
> + label:
> + $ref: /schemas/types.yaml#/definitions/string
Already has a type definition.
> + description:
> + The name for the reserved partition, if omitted, the label is taken
> + from the node name excluding the unit address.
> +
> + clocks:
> + description:
> + A list of phandle and clock specifier pair that controls the
> + single SRAM clock.
> +
> + # TODO: additionalProperties: false
> +
> + required:
> + - reg
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> +
> +examples:
> + - |
> + sram: sram@5c000000 {
> + compatible = "mmio-sram";
> + reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0 0x5c000000 0x40000>;
> +
> + smp-sram@100 {
> + compatible = "socvendor,smp-sram";
> + reg = <0x100 0x50>;
> + };
> +
> + device-sram@1000 {
> + reg = <0x1000 0x1000>;
> + pool;
> + };
> +
> + exported@20000 {
> + reg = <0x20000 0x20000>;
> + export;
> + };
> + };
> --
> 2.17.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
Thierry Reding <thierry.reding@gmail.com>,
Matt Mackall <mpm@selenic.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Wim Van Sebroeck <wim@linux-watchdog.org>,
Guenter Roeck <linux@roeck-us.net>,
linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-pwm@vger.kernel.org,
linux-tegra@vger.kernel.org,
bcm-kernel-feedback-list@broadcom.com,
linux-rpi-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org,
linux-mediatek@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-riscv@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com
Subject: Re: [PATCH v2 2/8] dt-bindings: sram: Convert SRAM bindings to json-schema
Date: Tue, 1 Oct 2019 09:00:03 -0500 [thread overview]
Message-ID: <20191001140003.GA31344@bogus> (raw)
In-Reply-To: <20190918173141.4314-2-krzk@kernel.org>
On Wed, Sep 18, 2019 at 07:31:35PM +0200, Krzysztof Kozlowski wrote:
> Convert generic mmio-sram bindings to DT schema format using
> json-schema.
I've been slow getting to this because I started on the same thing...
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
>
> ---
>
> Changes since v1:
> 1. Indent example with four spaces (more readable).
> ---
> .../devicetree/bindings/sram/sram.txt | 80 ----------
> .../devicetree/bindings/sram/sram.yaml | 138 ++++++++++++++++++
> 2 files changed, 138 insertions(+), 80 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sram/sram.txt
> create mode 100644 Documentation/devicetree/bindings/sram/sram.yaml
> diff --git a/Documentation/devicetree/bindings/sram/sram.yaml b/Documentation/devicetree/bindings/sram/sram.yaml
> new file mode 100644
> index 000000000000..8d9d6ce494b2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sram/sram.yaml
> @@ -0,0 +1,138 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sram/sram.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic on-chip SRAM
> +
> +maintainers:
> + - FIXME <who@should.it.be>
You can put me.
> +
> +description: |+
> + Simple IO memory regions to be managed by the genalloc API.
> +
> + Each child of the sram node specifies a region of reserved memory. Each
> + child node should use a 'reg' property to specify a specific range of
> + reserved memory.
> +
> + Following the generic-names recommended practice, node names should
> + reflect the purpose of the node. Unit address (@<address>) should be
> + appended to the name.
> +
> +properties:
> + $nodename:
> + pattern: "^sram(@.*)?"
> +
> + compatible:
> + items:
> + - enum:
> + - mmio-sram
> + - atmel,sama5d2-securam
I was trying to go down the path of putting all the compatibles for
various SRAM bindings here, but I ran into some issues. I need to
revisit as I've forgotten the exact issue.
This would need to be a 'contains' if this is going to work for others.
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + description: Should use the same values as the root node.
> +
> + "#size-cells":
> + description: Should use the same values as the root node.
I defined both of these to be 1 as 4GB of SRAM should be enough for a
while. We can debate 1 or 2 cells vs. 1, but there's no reason it has to
be the same as the root (unless we're failing to do address
translation).
> +
> + ranges:
> + description:
> + Should translate from local addresses within the sram to bus addresses.
> +
> + no-memory-wc:
> + description:
> + The flag indicating, that SRAM memory region has not to be remapped
> + as write combining. WC is used by default.
> + type: boolean
> +
> + # TODO: additionalProperties: false
> +
> +patternProperties:
> + "^([a-z]*-)?sram@[a-f0-9]$":
> + type: object
> + description:
> + Each child of the sram node specifies a region of reserved memory.
> + properties:
> + reg:
> + description:
> + IO mem address range, relative to the SRAM range.
maxItems: 1
> +
> + compatible:
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + Should contain a vendor specific string in the form
> + <vendor>,[<device>-]<usage>
> +
> + pool:
> + description:
> + Indicates that the particular reserved SRAM area is addressable
> + and in use by another device or devices.
> + type: boolean
> +
> + export:
> + description:
> + Indicates that the reserved SRAM area may be accessed outside
> + of the kernel, e.g. by bootloader or userspace.
> + type: boolean
> +
> + protect-exec:
> + description: |
> + Same as 'pool' above but with the additional constraint that code
> + will be run from the region and that the memory is maintained as
> + read-only, executable during code execution. NOTE: This region must
> + be page aligned on start and end in order to properly allow
> + manipulation of the page attributes.
> + type: boolean
> +
> + label:
> + $ref: /schemas/types.yaml#/definitions/string
Already has a type definition.
> + description:
> + The name for the reserved partition, if omitted, the label is taken
> + from the node name excluding the unit address.
> +
> + clocks:
> + description:
> + A list of phandle and clock specifier pair that controls the
> + single SRAM clock.
> +
> + # TODO: additionalProperties: false
> +
> + required:
> + - reg
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> +
> +examples:
> + - |
> + sram: sram@5c000000 {
> + compatible = "mmio-sram";
> + reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0 0x5c000000 0x40000>;
> +
> + smp-sram@100 {
> + compatible = "socvendor,smp-sram";
> + reg = <0x100 0x50>;
> + };
> +
> + device-sram@1000 {
> + reg = <0x1000 0x1000>;
> + pool;
> + };
> +
> + exported@20000 {
> + reg = <0x20000 0x20000>;
> + export;
> + };
> + };
> --
> 2.17.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
linux-pwm@vger.kernel.org, dri-devel@lists.freedesktop.org,
Thierry Reding <thierry.reding@gmail.com>,
linux-riscv@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-leds@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
Herbert Xu <herbert@gondor.apana.org.au>,
linux-clk@vger.kernel.org, linux-rockchip@lists.infradead.org,
bcm-kernel-feedback-list@broadcom.com,
Guenter Roeck <linux@roeck-us.net>,
devicetree@vger.kernel.org, linux-watchdog@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-rpi-kernel@lists.infradead.org,
Matt Mackall <mpm@selenic.com>,
linux-tegra@vger.kernel.org, linux-amlogic@lists.infradead.org,
Wim Van Sebroeck <wim@linux-watchdog.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org
Subject: Re: [PATCH v2 2/8] dt-bindings: sram: Convert SRAM bindings to json-schema
Date: Tue, 1 Oct 2019 09:00:03 -0500 [thread overview]
Message-ID: <20191001140003.GA31344@bogus> (raw)
In-Reply-To: <20190918173141.4314-2-krzk@kernel.org>
On Wed, Sep 18, 2019 at 07:31:35PM +0200, Krzysztof Kozlowski wrote:
> Convert generic mmio-sram bindings to DT schema format using
> json-schema.
I've been slow getting to this because I started on the same thing...
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
>
> ---
>
> Changes since v1:
> 1. Indent example with four spaces (more readable).
> ---
> .../devicetree/bindings/sram/sram.txt | 80 ----------
> .../devicetree/bindings/sram/sram.yaml | 138 ++++++++++++++++++
> 2 files changed, 138 insertions(+), 80 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sram/sram.txt
> create mode 100644 Documentation/devicetree/bindings/sram/sram.yaml
> diff --git a/Documentation/devicetree/bindings/sram/sram.yaml b/Documentation/devicetree/bindings/sram/sram.yaml
> new file mode 100644
> index 000000000000..8d9d6ce494b2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sram/sram.yaml
> @@ -0,0 +1,138 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sram/sram.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic on-chip SRAM
> +
> +maintainers:
> + - FIXME <who@should.it.be>
You can put me.
> +
> +description: |+
> + Simple IO memory regions to be managed by the genalloc API.
> +
> + Each child of the sram node specifies a region of reserved memory. Each
> + child node should use a 'reg' property to specify a specific range of
> + reserved memory.
> +
> + Following the generic-names recommended practice, node names should
> + reflect the purpose of the node. Unit address (@<address>) should be
> + appended to the name.
> +
> +properties:
> + $nodename:
> + pattern: "^sram(@.*)?"
> +
> + compatible:
> + items:
> + - enum:
> + - mmio-sram
> + - atmel,sama5d2-securam
I was trying to go down the path of putting all the compatibles for
various SRAM bindings here, but I ran into some issues. I need to
revisit as I've forgotten the exact issue.
This would need to be a 'contains' if this is going to work for others.
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + description: Should use the same values as the root node.
> +
> + "#size-cells":
> + description: Should use the same values as the root node.
I defined both of these to be 1 as 4GB of SRAM should be enough for a
while. We can debate 1 or 2 cells vs. 1, but there's no reason it has to
be the same as the root (unless we're failing to do address
translation).
> +
> + ranges:
> + description:
> + Should translate from local addresses within the sram to bus addresses.
> +
> + no-memory-wc:
> + description:
> + The flag indicating, that SRAM memory region has not to be remapped
> + as write combining. WC is used by default.
> + type: boolean
> +
> + # TODO: additionalProperties: false
> +
> +patternProperties:
> + "^([a-z]*-)?sram@[a-f0-9]$":
> + type: object
> + description:
> + Each child of the sram node specifies a region of reserved memory.
> + properties:
> + reg:
> + description:
> + IO mem address range, relative to the SRAM range.
maxItems: 1
> +
> + compatible:
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + Should contain a vendor specific string in the form
> + <vendor>,[<device>-]<usage>
> +
> + pool:
> + description:
> + Indicates that the particular reserved SRAM area is addressable
> + and in use by another device or devices.
> + type: boolean
> +
> + export:
> + description:
> + Indicates that the reserved SRAM area may be accessed outside
> + of the kernel, e.g. by bootloader or userspace.
> + type: boolean
> +
> + protect-exec:
> + description: |
> + Same as 'pool' above but with the additional constraint that code
> + will be run from the region and that the memory is maintained as
> + read-only, executable during code execution. NOTE: This region must
> + be page aligned on start and end in order to properly allow
> + manipulation of the page attributes.
> + type: boolean
> +
> + label:
> + $ref: /schemas/types.yaml#/definitions/string
Already has a type definition.
> + description:
> + The name for the reserved partition, if omitted, the label is taken
> + from the node name excluding the unit address.
> +
> + clocks:
> + description:
> + A list of phandle and clock specifier pair that controls the
> + single SRAM clock.
> +
> + # TODO: additionalProperties: false
> +
> + required:
> + - reg
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> +
> +examples:
> + - |
> + sram: sram@5c000000 {
> + compatible = "mmio-sram";
> + reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0 0x5c000000 0x40000>;
> +
> + smp-sram@100 {
> + compatible = "socvendor,smp-sram";
> + reg = <0x100 0x50>;
> + };
> +
> + device-sram@1000 {
> + reg = <0x1000 0x1000>;
> + pool;
> + };
> +
> + exported@20000 {
> + reg = <0x20000 0x20000>;
> + export;
> + };
> + };
> --
> 2.17.1
>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
linux-pwm@vger.kernel.org, dri-devel@lists.freedesktop.org,
Thierry Reding <thierry.reding@gmail.com>,
linux-riscv@lists.infradead.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-leds@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
Herbert Xu <herbert@gondor.apana.org.au>,
linux-clk@vger.kernel.org, linux-rockchip@lists.infradead.org,
bcm-kernel-feedback-list@broadcom.com,
Guenter Roeck <linux@roeck-us.net>,
devicetree@vger.kernel.org, linux-watchdog@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-rpi-kernel@lists.infradead.org,
Matt Mackall <mpm@selenic.com>,
linux-tegra@vger.kernel.org, linux-amlogic@lists.infradead.org,
Wim Van Sebroeck <wim@linux-watchdog.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org
Subject: Re: [PATCH v2 2/8] dt-bindings: sram: Convert SRAM bindings to json-schema
Date: Tue, 1 Oct 2019 09:00:03 -0500 [thread overview]
Message-ID: <20191001140003.GA31344@bogus> (raw)
In-Reply-To: <20190918173141.4314-2-krzk@kernel.org>
On Wed, Sep 18, 2019 at 07:31:35PM +0200, Krzysztof Kozlowski wrote:
> Convert generic mmio-sram bindings to DT schema format using
> json-schema.
I've been slow getting to this because I started on the same thing...
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
>
> ---
>
> Changes since v1:
> 1. Indent example with four spaces (more readable).
> ---
> .../devicetree/bindings/sram/sram.txt | 80 ----------
> .../devicetree/bindings/sram/sram.yaml | 138 ++++++++++++++++++
> 2 files changed, 138 insertions(+), 80 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sram/sram.txt
> create mode 100644 Documentation/devicetree/bindings/sram/sram.yaml
> diff --git a/Documentation/devicetree/bindings/sram/sram.yaml b/Documentation/devicetree/bindings/sram/sram.yaml
> new file mode 100644
> index 000000000000..8d9d6ce494b2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sram/sram.yaml
> @@ -0,0 +1,138 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sram/sram.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic on-chip SRAM
> +
> +maintainers:
> + - FIXME <who@should.it.be>
You can put me.
> +
> +description: |+
> + Simple IO memory regions to be managed by the genalloc API.
> +
> + Each child of the sram node specifies a region of reserved memory. Each
> + child node should use a 'reg' property to specify a specific range of
> + reserved memory.
> +
> + Following the generic-names recommended practice, node names should
> + reflect the purpose of the node. Unit address (@<address>) should be
> + appended to the name.
> +
> +properties:
> + $nodename:
> + pattern: "^sram(@.*)?"
> +
> + compatible:
> + items:
> + - enum:
> + - mmio-sram
> + - atmel,sama5d2-securam
I was trying to go down the path of putting all the compatibles for
various SRAM bindings here, but I ran into some issues. I need to
revisit as I've forgotten the exact issue.
This would need to be a 'contains' if this is going to work for others.
> +
> + reg:
> + maxItems: 1
> +
> + "#address-cells":
> + description: Should use the same values as the root node.
> +
> + "#size-cells":
> + description: Should use the same values as the root node.
I defined both of these to be 1 as 4GB of SRAM should be enough for a
while. We can debate 1 or 2 cells vs. 1, but there's no reason it has to
be the same as the root (unless we're failing to do address
translation).
> +
> + ranges:
> + description:
> + Should translate from local addresses within the sram to bus addresses.
> +
> + no-memory-wc:
> + description:
> + The flag indicating, that SRAM memory region has not to be remapped
> + as write combining. WC is used by default.
> + type: boolean
> +
> + # TODO: additionalProperties: false
> +
> +patternProperties:
> + "^([a-z]*-)?sram@[a-f0-9]$":
> + type: object
> + description:
> + Each child of the sram node specifies a region of reserved memory.
> + properties:
> + reg:
> + description:
> + IO mem address range, relative to the SRAM range.
maxItems: 1
> +
> + compatible:
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + Should contain a vendor specific string in the form
> + <vendor>,[<device>-]<usage>
> +
> + pool:
> + description:
> + Indicates that the particular reserved SRAM area is addressable
> + and in use by another device or devices.
> + type: boolean
> +
> + export:
> + description:
> + Indicates that the reserved SRAM area may be accessed outside
> + of the kernel, e.g. by bootloader or userspace.
> + type: boolean
> +
> + protect-exec:
> + description: |
> + Same as 'pool' above but with the additional constraint that code
> + will be run from the region and that the memory is maintained as
> + read-only, executable during code execution. NOTE: This region must
> + be page aligned on start and end in order to properly allow
> + manipulation of the page attributes.
> + type: boolean
> +
> + label:
> + $ref: /schemas/types.yaml#/definitions/string
Already has a type definition.
> + description:
> + The name for the reserved partition, if omitted, the label is taken
> + from the node name excluding the unit address.
> +
> + clocks:
> + description:
> + A list of phandle and clock specifier pair that controls the
> + single SRAM clock.
> +
> + # TODO: additionalProperties: false
> +
> + required:
> + - reg
> +
> +required:
> + - compatible
> + - reg
> + - "#address-cells"
> + - "#size-cells"
> + - ranges
> +
> +examples:
> + - |
> + sram: sram@5c000000 {
> + compatible = "mmio-sram";
> + reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */
> +
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0 0x5c000000 0x40000>;
> +
> + smp-sram@100 {
> + compatible = "socvendor,smp-sram";
> + reg = <0x100 0x50>;
> + };
> +
> + device-sram@1000 {
> + reg = <0x1000 0x1000>;
> + pool;
> + };
> +
> + exported@20000 {
> + reg = <0x20000 0x20000>;
> + export;
> + };
> + };
> --
> 2.17.1
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-10-01 14:00 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-18 17:31 [PATCH v2 1/8] dt-bindings: rng: exynos4-rng: Convert Exynos PRNG bindings to json-schema Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` [PATCH v2 2/8] dt-bindings: sram: Convert SRAM " Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-10-01 14:00 ` Rob Herring [this message]
2019-10-01 14:00 ` Rob Herring
2019-10-01 14:00 ` Rob Herring
2019-10-01 14:00 ` Rob Herring
2019-10-01 14:00 ` Rob Herring
2019-10-01 15:24 ` Krzysztof Kozlowski
2019-10-01 15:24 ` Krzysztof Kozlowski
2019-10-01 15:24 ` Krzysztof Kozlowski
2019-10-01 15:24 ` Krzysztof Kozlowski
2019-10-01 15:24 ` Krzysztof Kozlowski
2019-09-18 17:31 ` [PATCH v2 3/8] dt-bindings: sram: Convert Samsung Exynos SYSRAM " Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` [PATCH v2 4/8] dt-bindings: memory-controllers: Convert Samsung Exynos SROM " Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-10-10 21:23 ` Rob Herring
2019-10-10 21:23 ` Rob Herring
2019-10-10 21:23 ` Rob Herring
2019-10-10 21:23 ` Rob Herring
2019-10-10 21:23 ` Rob Herring
2019-09-18 17:31 ` [PATCH v2 5/8] dt-bindings: watchdog: Convert Samsung SoC watchdog " Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-20 16:23 ` Krzysztof Kozlowski
2019-09-20 16:23 ` Krzysztof Kozlowski
2019-09-20 16:23 ` Krzysztof Kozlowski
2019-09-20 16:23 ` Krzysztof Kozlowski
2019-09-20 16:23 ` Krzysztof Kozlowski
2019-09-18 17:31 ` [PATCH v2 6/8] dt-bindings: watchdog: Add missing clocks requirement in Samsung SoC watchdog Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` [PATCH v2 7/8] dt-bindings: pwm: Convert PWM bindings to json-schema Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` [PATCH v2 8/8] dt-bindings: pwm: Convert Samsung " Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-18 17:31 ` Krzysztof Kozlowski
2019-09-20 15:50 ` Rob Herring
2019-09-20 15:50 ` Rob Herring
2019-09-20 15:50 ` Rob Herring
2019-09-20 15:50 ` Rob Herring
2019-09-20 15:50 ` Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191001140003.GA31344@bogus \
--to=robh@kernel.org \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=herbert@gondor.apana.org.au \
--cc=krzk@kernel.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pwm@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux-tegra@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mark.rutland@arm.com \
--cc=mpm@selenic.com \
--cc=thierry.reding@gmail.com \
--cc=wim@linux-watchdog.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.