diff mbox

[v2,1/2] soc: qcom: Add device tree binding for SMEM

Message ID 1428795178-24312-1-git-send-email-bjorn.andersson@sonymobile.com (mailing list archive)
State Superseded, archived
Delegated to: Andy Gross
Headers show

Commit Message

Bjorn Andersson April 11, 2015, 11:32 p.m. UTC
Add device tree binding documentation for the Qualcom Shared Memory
manager.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---

Changes since v1:
- None

 .../devicetree/bindings/soc/qcom/qcom,smem.txt     | 49 ++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt

Comments

Jeffrey Hugo April 23, 2015, 8:01 p.m. UTC | #1
On 4/11/2015 5:32 PM, Bjorn Andersson wrote:
> Add device tree binding documentation for the Qualcom Shared Memory
> manager.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> ---
>
> Changes since v1:
> - None
>
>   .../devicetree/bindings/soc/qcom/qcom,smem.txt     | 49 ++++++++++++++++++++++
>   1 file changed, 49 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
>
> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> new file mode 100644
> index 0000000..d90f839
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> @@ -0,0 +1,49 @@
> +Qualcomm Shared Memory binding
> +
> +This binding describes the Qualcomm Shared Memory, used to share data between
> +various subsystems and OSes in Qualcomm platforms.
> +
> +- compatible:
> +	Usage: required
> +	Value type: <stringlist>
> +	Definition: must be:
> +		    "qcom,smem"
> +
> +- memory-region:
> +	Usage: required
> +	Value type: <prop-encoded-array>
> +	Definition: handle to memory reservation for main smem memory region.
> +
> +- reg:
> +	Usage: optional
> +	Value type: <prop-encoded-array>
> +	Definition: base address and size pair for any additional memory areas
> +		    of the shared memory.
> +
> +- hwspinlocks:
> +	Usage: required
> +	Value type: <prop-encoded-array>
> +	Definition: reference to a hwspinlock used to protect allocations from
> +		    the shared memory
> +
> += EXAMPLE
> +
> +	reserved-memory {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		smem_region: smem@fa00000 {
> +			reg = <0xfa00000 0x200000>;
> +			no-map;
> +		};
> +	};
> +
> +	smem@fa00000 {
> +		compatible = "qcom,smem";
> +
> +		memory-region = <&smem_region>;
> +		reg = <0xfc428000 0x4000>;
> +
> +		hwlocks = <&tcsr_mutex 3>;
> +	};
>

For my information, is there any intention to support the relocatable 
smem_region by looking it up at init time?  It does not seem like it 
would be possible to support that with this binding.
Bjorn Andersson April 24, 2015, 3:28 a.m. UTC | #2
On Thu, Apr 23, 2015 at 1:01 PM, Jeffrey Hugo <jhugo@codeaurora.org> wrote:
> On 4/11/2015 5:32 PM, Bjorn Andersson wrote:
>>
>> Add device tree binding documentation for the Qualcom Shared Memory
>> manager.
>>
[..]
>
> For my information, is there any intention to support the relocatable
> smem_region by looking it up at init time?  It does not seem like it would
> be possible to support that with this binding.
>

I haven't been able to grasp the purpose of making the smem addresses
completely dynamic. As far as I can see there might be use cases where
certain devices needs to move the smem region from the default area.
But even so, it's not dynamically choosen so it's in essence static -
so we can just encode it in the individual dts files.

Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Gross April 25, 2015, 3:02 a.m. UTC | #3
On Thu, Apr 23, 2015 at 02:01:28PM -0600, Jeffrey Hugo wrote:
> On 4/11/2015 5:32 PM, Bjorn Andersson wrote:
> >Add device tree binding documentation for the Qualcom Shared Memory
> >manager.
> >
> >Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> >---
> >
> >Changes since v1:
> >- None
> >
> >  .../devicetree/bindings/soc/qcom/qcom,smem.txt     | 49 ++++++++++++++++++++++
> >  1 file changed, 49 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> >
> >diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> >new file mode 100644
> >index 0000000..d90f839
> >--- /dev/null
> >+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> >@@ -0,0 +1,49 @@
> >+Qualcomm Shared Memory binding
> >+
> >+This binding describes the Qualcomm Shared Memory, used to share data between
> >+various subsystems and OSes in Qualcomm platforms.
> >+
> >+- compatible:
> >+	Usage: required
> >+	Value type: <stringlist>
> >+	Definition: must be:
> >+		    "qcom,smem"
> >+
> >+- memory-region:
> >+	Usage: required
> >+	Value type: <prop-encoded-array>
> >+	Definition: handle to memory reservation for main smem memory region.
> >+
> >+- reg:
> >+	Usage: optional
> >+	Value type: <prop-encoded-array>
> >+	Definition: base address and size pair for any additional memory areas
> >+		    of the shared memory.
> >+
> >+- hwspinlocks:
> >+	Usage: required
> >+	Value type: <prop-encoded-array>
> >+	Definition: reference to a hwspinlock used to protect allocations from
> >+		    the shared memory
> >+
> >+= EXAMPLE
> >+
> >+	reserved-memory {
> >+		#address-cells = <1>;
> >+		#size-cells = <1>;
> >+		ranges;
> >+
> >+		smem_region: smem@fa00000 {
> >+			reg = <0xfa00000 0x200000>;
> >+			no-map;
> >+		};
> >+	};
> >+
> >+	smem@fa00000 {
> >+		compatible = "qcom,smem";
> >+
> >+		memory-region = <&smem_region>;
> >+		reg = <0xfc428000 0x4000>;
> >+
> >+		hwlocks = <&tcsr_mutex 3>;
> >+	};
> >
> 
> For my information, is there any intention to support the
> relocatable smem_region by looking it up at init time?  It does not
> seem like it would be possible to support that with this binding.

The APPS processor really doesn't need anything except the memory region in the
DT.  If it was truly going to be dynamic, we could modify the DT in the
bootloader to set the correct address.  We can let the other processors get the
information through the WONCE TCSR registers.
Jeffrey Hugo April 30, 2015, 3:38 p.m. UTC | #4
On 4/11/2015 5:32 PM, Bjorn Andersson wrote:
> Add device tree binding documentation for the Qualcom Shared Memory
> manager.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> ---
>
> Changes since v1:
> - None
>
>   .../devicetree/bindings/soc/qcom/qcom,smem.txt     | 49 ++++++++++++++++++++++
>   1 file changed, 49 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
>
> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> new file mode 100644
> index 0000000..d90f839
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
> @@ -0,0 +1,49 @@
> +Qualcomm Shared Memory binding
> +
> +This binding describes the Qualcomm Shared Memory, used to share data between
> +various subsystems and OSes in Qualcomm platforms.
> +
> +- compatible:
> +	Usage: required
> +	Value type: <stringlist>
> +	Definition: must be:
> +		    "qcom,smem"
> +
> +- memory-region:
> +	Usage: required
> +	Value type: <prop-encoded-array>
> +	Definition: handle to memory reservation for main smem memory region.
> +
> +- reg:
> +	Usage: optional
> +	Value type: <prop-encoded-array>
> +	Definition: base address and size pair for any additional memory areas
> +		    of the shared memory.
> +
> +- hwspinlocks:
> +	Usage: required
> +	Value type: <prop-encoded-array>
> +	Definition: reference to a hwspinlock used to protect allocations from
> +		    the shared memory
> +
> += EXAMPLE
> +
> +	reserved-memory {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		smem_region: smem@fa00000 {
> +			reg = <0xfa00000 0x200000>;
> +			no-map;
> +		};
> +	};
> +
> +	smem@fa00000 {
> +		compatible = "qcom,smem";
> +
> +		memory-region = <&smem_region>;
> +		reg = <0xfc428000 0x4000>;
> +
> +		hwlocks = <&tcsr_mutex 3>;

Just noticed, this looks like a typo.  The description of the field 
above calls it "hwspinlocks".  Would to please determine which of the 
two labels you most prefer, and change things so that label is used in 
both the description and the example?  Thanks

> +	};
>
Bjorn Andersson April 30, 2015, 5:41 p.m. UTC | #5
On Thu, Apr 30, 2015 at 8:38 AM, Jeffrey Hugo <jhugo@codeaurora.org> wrote:
> On 4/11/2015 5:32 PM, Bjorn Andersson wrote:
>>
>> Add device tree binding documentation for the Qualcom Shared Memory
>> manager.
[..]
>> +- hwspinlocks:
>> +       Usage: required
>> +       Value type: <prop-encoded-array>
>> +       Definition: reference to a hwspinlock used to protect allocations
>> from
>> +                   the shared memory
>> +
>> += EXAMPLE
[..]
>> +               hwlocks = <&tcsr_mutex 3>;
>
>
> Just noticed, this looks like a typo.  The description of the field above
> calls it "hwspinlocks".  Would to please determine which of the two labels
> you most prefer, and change things so that label is used in both the
> description and the example?  Thanks
>

Thanks, you're correct it's a typo in the definition.

Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
new file mode 100644
index 0000000..d90f839
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.txt
@@ -0,0 +1,49 @@ 
+Qualcomm Shared Memory binding
+
+This binding describes the Qualcomm Shared Memory, used to share data between
+various subsystems and OSes in Qualcomm platforms.
+
+- compatible:
+	Usage: required
+	Value type: <stringlist>
+	Definition: must be:
+		    "qcom,smem"
+
+- memory-region:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: handle to memory reservation for main smem memory region.
+
+- reg:
+	Usage: optional
+	Value type: <prop-encoded-array>
+	Definition: base address and size pair for any additional memory areas
+		    of the shared memory.
+
+- hwspinlocks:
+	Usage: required
+	Value type: <prop-encoded-array>
+	Definition: reference to a hwspinlock used to protect allocations from
+		    the shared memory
+
+= EXAMPLE
+
+	reserved-memory {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		smem_region: smem@fa00000 {
+			reg = <0xfa00000 0x200000>;
+			no-map;
+		};
+	};
+
+	smem@fa00000 {
+		compatible = "qcom,smem";
+
+		memory-region = <&smem_region>;
+		reg = <0xfc428000 0x4000>;
+
+		hwlocks = <&tcsr_mutex 3>;
+	};