All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] soc: ti: k3-am654: Allow for exclusive and shared device requests
@ 2019-04-10  5:37 ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

Sysfw provides an option for requesting exclusive access for a
device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is
not used, the device is meant to be shared across hosts. Once a device
is requested from a host with this flag set, any request to this
device from a different host will be nacked by sysfw.

Current tisci firmware and pm drivers always requests for device with
exclusive permissions set. But this is not be true for certain devices
that are expcted to be shared across different host contexts.
So add support for getting the shared or exclusive permissions from DT
and request firmware accordingly.

Changes since v2:
- Added macros for new power-domain cell
- Rebased on top of v5.1-rc4
- Updated commit messages.

Lokesh Vutla (5):
  firmware: ti_sci: Allow for device shared and exclusive requests
  dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared
    access
  soc: ti: ti_sci_pm_domains: Add support for exclusive and shared
    access
  soc: ti: ti_sci_pm_domains: Switch to SPDX Licensing
  arm64: dts: ti: k3-am654: Update the power domain cells

 .../bindings/soc/ti/sci-pm-domain.txt         | 11 ++++-
 MAINTAINERS                                   |  1 +
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi      | 32 ++++++-------
 arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi       | 10 ++---
 arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi    |  6 +--
 arch/arm64/boot/dts/ti/k3-am65.dtsi           |  1 +
 drivers/firmware/ti_sci.c                     | 45 ++++++++++++++++++-
 drivers/soc/ti/ti_sci_pm_domains.c            | 33 +++++++++-----
 include/dt-bindings/soc/ti,sci_pm_domain.h    |  9 ++++
 include/linux/soc/ti/ti_sci_protocol.h        |  3 ++
 10 files changed, 112 insertions(+), 39 deletions(-)
 create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h

-- 
2.21.0

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH v3 0/5] soc: ti: k3-am654: Allow for exclusive and shared device requests
@ 2019-04-10  5:37 ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

Sysfw provides an option for requesting exclusive access for a
device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is
not used, the device is meant to be shared across hosts. Once a device
is requested from a host with this flag set, any request to this
device from a different host will be nacked by sysfw.

Current tisci firmware and pm drivers always requests for device with
exclusive permissions set. But this is not be true for certain devices
that are expcted to be shared across different host contexts.
So add support for getting the shared or exclusive permissions from DT
and request firmware accordingly.

Changes since v2:
- Added macros for new power-domain cell
- Rebased on top of v5.1-rc4
- Updated commit messages.

Lokesh Vutla (5):
  firmware: ti_sci: Allow for device shared and exclusive requests
  dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared
    access
  soc: ti: ti_sci_pm_domains: Add support for exclusive and shared
    access
  soc: ti: ti_sci_pm_domains: Switch to SPDX Licensing
  arm64: dts: ti: k3-am654: Update the power domain cells

 .../bindings/soc/ti/sci-pm-domain.txt         | 11 ++++-
 MAINTAINERS                                   |  1 +
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi      | 32 ++++++-------
 arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi       | 10 ++---
 arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi    |  6 +--
 arch/arm64/boot/dts/ti/k3-am65.dtsi           |  1 +
 drivers/firmware/ti_sci.c                     | 45 ++++++++++++++++++-
 drivers/soc/ti/ti_sci_pm_domains.c            | 33 +++++++++-----
 include/dt-bindings/soc/ti,sci_pm_domain.h    |  9 ++++
 include/linux/soc/ti/ti_sci_protocol.h        |  3 ++
 10 files changed, 112 insertions(+), 39 deletions(-)
 create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h

-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH v3 1/5] firmware: ti_sci: Allow for device shared and exclusive requests
  2019-04-10  5:37 ` Lokesh Vutla
@ 2019-04-10  5:37   ` Lokesh Vutla
  -1 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

Sysfw provides an option for requesting exclusive access for a
device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is
not used, the device is meant to be shared across hosts. Once a device
is requested from a host with this flag set, any request to this
device from a different host will be nacked by sysfw. Current tisci
driver enables this flag for every device requests. But this may not
be true for all the devices. So provide a separate commands in driver
for exclusive and shared device requests.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 drivers/firmware/ti_sci.c              | 45 ++++++++++++++++++++++++--
 include/linux/soc/ti/ti_sci_protocol.h |  3 ++
 2 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
index 3fbbb61012c4..685b8b398922 100644
--- a/drivers/firmware/ti_sci.c
+++ b/drivers/firmware/ti_sci.c
@@ -617,6 +617,7 @@ static int ti_sci_get_device_state(const struct ti_sci_handle *handle,
 
 /**
  * ti_sci_cmd_get_device() - command to request for device managed by TISCI
+ *			     that can be shared with other hosts.
  * @handle:	Pointer to TISCI handle as retrieved by *ti_sci_get_handle
  * @id:		Device Identifier
  *
@@ -624,11 +625,29 @@ static int ti_sci_get_device_state(const struct ti_sci_handle *handle,
  * usage count by balancing get_device with put_device. No refcounting is
  * managed by driver for that purpose.
  *
- * NOTE: The request is for exclusive access for the processor.
- *
  * Return: 0 if all went fine, else return appropriate error.
  */
 static int ti_sci_cmd_get_device(const struct ti_sci_handle *handle, u32 id)
+{
+	return ti_sci_set_device_state(handle, id, 0,
+				       MSG_DEVICE_SW_STATE_ON);
+}
+
+/**
+ * ti_sci_cmd_get_device_exclusive() - command to request for device managed by
+ *				       TISCI that is exclusively owned by the
+ *				       requesting host.
+ * @handle:	Pointer to TISCI handle as retrieved by *ti_sci_get_handle
+ * @id:		Device Identifier
+ *
+ * Request for the device - NOTE: the client MUST maintain integrity of
+ * usage count by balancing get_device with put_device. No refcounting is
+ * managed by driver for that purpose.
+ *
+ * Return: 0 if all went fine, else return appropriate error.
+ */
+static int ti_sci_cmd_get_device_exclusive(const struct ti_sci_handle *handle,
+					   u32 id)
 {
 	return ti_sci_set_device_state(handle, id,
 				       MSG_FLAG_DEVICE_EXCLUSIVE,
@@ -647,6 +666,26 @@ static int ti_sci_cmd_get_device(const struct ti_sci_handle *handle, u32 id)
  * Return: 0 if all went fine, else return appropriate error.
  */
 static int ti_sci_cmd_idle_device(const struct ti_sci_handle *handle, u32 id)
+{
+	return ti_sci_set_device_state(handle, id, 0,
+				       MSG_DEVICE_SW_STATE_RETENTION);
+}
+
+/**
+ * ti_sci_cmd_idle_device_exclusive() - Command to idle a device managed by
+ *					TISCI that is exclusively owned by
+ *					requesting host.
+ * @handle:	Pointer to TISCI handle as retrieved by *ti_sci_get_handle
+ * @id:		Device Identifier
+ *
+ * Request for the device - NOTE: the client MUST maintain integrity of
+ * usage count by balancing get_device with put_device. No refcounting is
+ * managed by driver for that purpose.
+ *
+ * Return: 0 if all went fine, else return appropriate error.
+ */
+static int ti_sci_cmd_idle_device_exclusive(const struct ti_sci_handle *handle,
+					    u32 id)
 {
 	return ti_sci_set_device_state(handle, id,
 				       MSG_FLAG_DEVICE_EXCLUSIVE,
@@ -1614,7 +1653,9 @@ static void ti_sci_setup_ops(struct ti_sci_info *info)
 	core_ops->reboot_device = ti_sci_cmd_core_reboot;
 
 	dops->get_device = ti_sci_cmd_get_device;
+	dops->get_device_exclusive = ti_sci_cmd_get_device_exclusive;
 	dops->idle_device = ti_sci_cmd_idle_device;
+	dops->idle_device_exclusive = ti_sci_cmd_idle_device_exclusive;
 	dops->put_device = ti_sci_cmd_put_device;
 
 	dops->is_valid = ti_sci_cmd_dev_is_valid;
diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h
index 18435e5c6364..5d704bb33989 100644
--- a/include/linux/soc/ti/ti_sci_protocol.h
+++ b/include/linux/soc/ti/ti_sci_protocol.h
@@ -97,7 +97,10 @@ struct ti_sci_core_ops {
  */
 struct ti_sci_dev_ops {
 	int (*get_device)(const struct ti_sci_handle *handle, u32 id);
+	int (*get_device_exclusive)(const struct ti_sci_handle *handle, u32 id);
 	int (*idle_device)(const struct ti_sci_handle *handle, u32 id);
+	int (*idle_device_exclusive)(const struct ti_sci_handle *handle,
+				     u32 id);
 	int (*put_device)(const struct ti_sci_handle *handle, u32 id);
 	int (*is_valid)(const struct ti_sci_handle *handle, u32 id);
 	int (*get_context_loss_count)(const struct ti_sci_handle *handle,
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 1/5] firmware: ti_sci: Allow for device shared and exclusive requests
@ 2019-04-10  5:37   ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

Sysfw provides an option for requesting exclusive access for a
device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is
not used, the device is meant to be shared across hosts. Once a device
is requested from a host with this flag set, any request to this
device from a different host will be nacked by sysfw. Current tisci
driver enables this flag for every device requests. But this may not
be true for all the devices. So provide a separate commands in driver
for exclusive and shared device requests.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 drivers/firmware/ti_sci.c              | 45 ++++++++++++++++++++++++--
 include/linux/soc/ti/ti_sci_protocol.h |  3 ++
 2 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
index 3fbbb61012c4..685b8b398922 100644
--- a/drivers/firmware/ti_sci.c
+++ b/drivers/firmware/ti_sci.c
@@ -617,6 +617,7 @@ static int ti_sci_get_device_state(const struct ti_sci_handle *handle,
 
 /**
  * ti_sci_cmd_get_device() - command to request for device managed by TISCI
+ *			     that can be shared with other hosts.
  * @handle:	Pointer to TISCI handle as retrieved by *ti_sci_get_handle
  * @id:		Device Identifier
  *
@@ -624,11 +625,29 @@ static int ti_sci_get_device_state(const struct ti_sci_handle *handle,
  * usage count by balancing get_device with put_device. No refcounting is
  * managed by driver for that purpose.
  *
- * NOTE: The request is for exclusive access for the processor.
- *
  * Return: 0 if all went fine, else return appropriate error.
  */
 static int ti_sci_cmd_get_device(const struct ti_sci_handle *handle, u32 id)
+{
+	return ti_sci_set_device_state(handle, id, 0,
+				       MSG_DEVICE_SW_STATE_ON);
+}
+
+/**
+ * ti_sci_cmd_get_device_exclusive() - command to request for device managed by
+ *				       TISCI that is exclusively owned by the
+ *				       requesting host.
+ * @handle:	Pointer to TISCI handle as retrieved by *ti_sci_get_handle
+ * @id:		Device Identifier
+ *
+ * Request for the device - NOTE: the client MUST maintain integrity of
+ * usage count by balancing get_device with put_device. No refcounting is
+ * managed by driver for that purpose.
+ *
+ * Return: 0 if all went fine, else return appropriate error.
+ */
+static int ti_sci_cmd_get_device_exclusive(const struct ti_sci_handle *handle,
+					   u32 id)
 {
 	return ti_sci_set_device_state(handle, id,
 				       MSG_FLAG_DEVICE_EXCLUSIVE,
@@ -647,6 +666,26 @@ static int ti_sci_cmd_get_device(const struct ti_sci_handle *handle, u32 id)
  * Return: 0 if all went fine, else return appropriate error.
  */
 static int ti_sci_cmd_idle_device(const struct ti_sci_handle *handle, u32 id)
+{
+	return ti_sci_set_device_state(handle, id, 0,
+				       MSG_DEVICE_SW_STATE_RETENTION);
+}
+
+/**
+ * ti_sci_cmd_idle_device_exclusive() - Command to idle a device managed by
+ *					TISCI that is exclusively owned by
+ *					requesting host.
+ * @handle:	Pointer to TISCI handle as retrieved by *ti_sci_get_handle
+ * @id:		Device Identifier
+ *
+ * Request for the device - NOTE: the client MUST maintain integrity of
+ * usage count by balancing get_device with put_device. No refcounting is
+ * managed by driver for that purpose.
+ *
+ * Return: 0 if all went fine, else return appropriate error.
+ */
+static int ti_sci_cmd_idle_device_exclusive(const struct ti_sci_handle *handle,
+					    u32 id)
 {
 	return ti_sci_set_device_state(handle, id,
 				       MSG_FLAG_DEVICE_EXCLUSIVE,
@@ -1614,7 +1653,9 @@ static void ti_sci_setup_ops(struct ti_sci_info *info)
 	core_ops->reboot_device = ti_sci_cmd_core_reboot;
 
 	dops->get_device = ti_sci_cmd_get_device;
+	dops->get_device_exclusive = ti_sci_cmd_get_device_exclusive;
 	dops->idle_device = ti_sci_cmd_idle_device;
+	dops->idle_device_exclusive = ti_sci_cmd_idle_device_exclusive;
 	dops->put_device = ti_sci_cmd_put_device;
 
 	dops->is_valid = ti_sci_cmd_dev_is_valid;
diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h
index 18435e5c6364..5d704bb33989 100644
--- a/include/linux/soc/ti/ti_sci_protocol.h
+++ b/include/linux/soc/ti/ti_sci_protocol.h
@@ -97,7 +97,10 @@ struct ti_sci_core_ops {
  */
 struct ti_sci_dev_ops {
 	int (*get_device)(const struct ti_sci_handle *handle, u32 id);
+	int (*get_device_exclusive)(const struct ti_sci_handle *handle, u32 id);
 	int (*idle_device)(const struct ti_sci_handle *handle, u32 id);
+	int (*idle_device_exclusive)(const struct ti_sci_handle *handle,
+				     u32 id);
 	int (*put_device)(const struct ti_sci_handle *handle, u32 id);
 	int (*is_valid)(const struct ti_sci_handle *handle, u32 id);
 	int (*get_context_loss_count)(const struct ti_sci_handle *handle,
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10  5:37 ` Lokesh Vutla
@ 2019-04-10  5:37   ` Lokesh Vutla
  -1 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

TISCI protocol supports for enabling the device either with exclusive
permissions for the requesting host or with sharing across the hosts.
There are certain devices which are exclusive to Linux context and
there are certain devices that are shared across different host contexts.
So add support for getting this information from DT by increasing
the power-domain cells to 2.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
 MAINTAINERS                                           |  1 +
 include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
 3 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h

diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
index f7b00a7c0f68..f541d1f776a2 100644
--- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
+++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
@@ -19,8 +19,15 @@ child of the pmmc node.
 Required Properties:
 --------------------
 - compatible: should be "ti,sci-pm-domain"
-- #power-domain-cells: Must be 1 so that an id can be provided in each
-		       device node.
+- #power-domain-cells: Can be one of the following:
+			1: Containing the device id of each node
+			2: First entry should be device id
+			   Second entry should be one of the floowing:
+			   TI_SCI_PD_EXCLUSIVE: To allow device to be
+						exclusively controlled by
+						the requesting hosts.
+			   TI_SCI_PD_SHARED: To allow device to be shared
+					     by multiple hosts.
 
 Example (K2G):
 -------------
diff --git a/MAINTAINERS b/MAINTAINERS
index 2359e12e4c41..dc7a19cc1831 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15345,6 +15345,7 @@ F:	drivers/firmware/ti_sci*
 F:	include/linux/soc/ti/ti_sci_protocol.h
 F:	Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
 F:	drivers/soc/ti/ti_sci_pm_domains.c
+F:	include/dt-bindings/soc/ti,sci_pm_domain.h
 F:	Documentation/devicetree/bindings/reset/ti,sci-reset.txt
 F:	Documentation/devicetree/bindings/clock/ti,sci-clk.txt
 F:	drivers/clk/keystone/sci-clk.c
diff --git a/include/dt-bindings/soc/ti,sci_pm_domain.h b/include/dt-bindings/soc/ti,sci_pm_domain.h
new file mode 100644
index 000000000000..8f2a7360b65e
--- /dev/null
+++ b/include/dt-bindings/soc/ti,sci_pm_domain.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
+#define __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
+
+#define TI_SCI_PD_EXCLUSIVE	1
+#define TI_SCI_PD_SHARED	0
+
+#endif /* __DT_BINDINGS_TI_SCI_PM_DOMAIN_H */
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
@ 2019-04-10  5:37   ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

TISCI protocol supports for enabling the device either with exclusive
permissions for the requesting host or with sharing across the hosts.
There are certain devices which are exclusive to Linux context and
there are certain devices that are shared across different host contexts.
So add support for getting this information from DT by increasing
the power-domain cells to 2.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
 MAINTAINERS                                           |  1 +
 include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
 3 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h

diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
index f7b00a7c0f68..f541d1f776a2 100644
--- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
+++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
@@ -19,8 +19,15 @@ child of the pmmc node.
 Required Properties:
 --------------------
 - compatible: should be "ti,sci-pm-domain"
-- #power-domain-cells: Must be 1 so that an id can be provided in each
-		       device node.
+- #power-domain-cells: Can be one of the following:
+			1: Containing the device id of each node
+			2: First entry should be device id
+			   Second entry should be one of the floowing:
+			   TI_SCI_PD_EXCLUSIVE: To allow device to be
+						exclusively controlled by
+						the requesting hosts.
+			   TI_SCI_PD_SHARED: To allow device to be shared
+					     by multiple hosts.
 
 Example (K2G):
 -------------
diff --git a/MAINTAINERS b/MAINTAINERS
index 2359e12e4c41..dc7a19cc1831 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15345,6 +15345,7 @@ F:	drivers/firmware/ti_sci*
 F:	include/linux/soc/ti/ti_sci_protocol.h
 F:	Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
 F:	drivers/soc/ti/ti_sci_pm_domains.c
+F:	include/dt-bindings/soc/ti,sci_pm_domain.h
 F:	Documentation/devicetree/bindings/reset/ti,sci-reset.txt
 F:	Documentation/devicetree/bindings/clock/ti,sci-clk.txt
 F:	drivers/clk/keystone/sci-clk.c
diff --git a/include/dt-bindings/soc/ti,sci_pm_domain.h b/include/dt-bindings/soc/ti,sci_pm_domain.h
new file mode 100644
index 000000000000..8f2a7360b65e
--- /dev/null
+++ b/include/dt-bindings/soc/ti,sci_pm_domain.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
+#define __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
+
+#define TI_SCI_PD_EXCLUSIVE	1
+#define TI_SCI_PD_SHARED	0
+
+#endif /* __DT_BINDINGS_TI_SCI_PM_DOMAIN_H */
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 3/5] soc: ti: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10  5:37 ` Lokesh Vutla
@ 2019-04-10  5:37   ` Lokesh Vutla
  -1 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

TISCI protocol supports for enabling the device either with exclusive
permissions for the requesting host or with sharing across the hosts.
There are certain devices which are exclusive to Linux context and
there are certain devices that are shared across different host contexts.
So add support for getting this information from DT by increasing
the power-domain cells to 2.

For keeping the DT backward compatibility intact, defaulting the
device permissions to set the exclusive flag set. In this case the
power-domain-cells is 1.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 drivers/soc/ti/ti_sci_pm_domains.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/drivers/soc/ti/ti_sci_pm_domains.c b/drivers/soc/ti/ti_sci_pm_domains.c
index de31b9389e2e..d017e3dc232c 100644
--- a/drivers/soc/ti/ti_sci_pm_domains.c
+++ b/drivers/soc/ti/ti_sci_pm_domains.c
@@ -23,15 +23,19 @@
 #include <linux/pm_domain.h>
 #include <linux/slab.h>
 #include <linux/soc/ti/ti_sci_protocol.h>
+#include <dt-bindings/soc/ti,sci_pm_domain.h>
 
 /**
  * struct ti_sci_genpd_dev_data: holds data needed for every device attached
  *				 to this genpd
  * @idx: index of the device that identifies it with the system
  *	 control processor.
+ * @exclusive: Permissions for exclusive request or shared request of the
+ *	       device.
  */
 struct ti_sci_genpd_dev_data {
 	int idx;
+	u8 exclusive;
 };
 
 /**
@@ -63,6 +67,14 @@ static int ti_sci_dev_id(struct device *dev)
 	return sci_dev_data->idx;
 }
 
+static u8 is_ti_sci_dev_exclusive(struct device *dev)
+{
+	struct generic_pm_domain_data *genpd_data = dev_gpd_data(dev);
+	struct ti_sci_genpd_dev_data *sci_dev_data = genpd_data->data;
+
+	return sci_dev_data->exclusive;
+}
+
 /**
  * ti_sci_dev_to_sci_handle(): get pointer to ti_sci_handle
  * @dev: pointer to device associated with this genpd
@@ -87,7 +99,10 @@ static int ti_sci_dev_start(struct device *dev)
 	const struct ti_sci_handle *ti_sci = ti_sci_dev_to_sci_handle(dev);
 	int idx = ti_sci_dev_id(dev);
 
-	return ti_sci->ops.dev_ops.get_device(ti_sci, idx);
+	if (is_ti_sci_dev_exclusive(dev))
+		return ti_sci->ops.dev_ops.get_device_exclusive(ti_sci, idx);
+	else
+		return ti_sci->ops.dev_ops.get_device(ti_sci, idx);
 }
 
 /**
@@ -118,7 +133,7 @@ static int ti_sci_pd_attach_dev(struct generic_pm_domain *domain,
 	if (ret < 0)
 		return ret;
 
-	if (pd_args.args_count != 1)
+	if (pd_args.args_count != 1 && pd_args.args_count != 2)
 		return -EINVAL;
 
 	idx = pd_args.args[0];
@@ -136,6 +151,10 @@ static int ti_sci_pd_attach_dev(struct generic_pm_domain *domain,
 		return -ENOMEM;
 
 	sci_dev_data->idx = idx;
+	/* Enable the exclusive permissions by default */
+	sci_dev_data->exclusive = TI_SCI_PD_EXCLUSIVE;
+	if (pd_args.args_count == 2)
+		sci_dev_data->exclusive = pd_args.args[1] & 0x1;
 
 	genpd_data = dev_gpd_data(dev);
 	genpd_data->data = sci_dev_data;
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 3/5] soc: ti: ti_sci_pm_domains: Add support for exclusive and shared access
@ 2019-04-10  5:37   ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

TISCI protocol supports for enabling the device either with exclusive
permissions for the requesting host or with sharing across the hosts.
There are certain devices which are exclusive to Linux context and
there are certain devices that are shared across different host contexts.
So add support for getting this information from DT by increasing
the power-domain cells to 2.

For keeping the DT backward compatibility intact, defaulting the
device permissions to set the exclusive flag set. In this case the
power-domain-cells is 1.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 drivers/soc/ti/ti_sci_pm_domains.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/drivers/soc/ti/ti_sci_pm_domains.c b/drivers/soc/ti/ti_sci_pm_domains.c
index de31b9389e2e..d017e3dc232c 100644
--- a/drivers/soc/ti/ti_sci_pm_domains.c
+++ b/drivers/soc/ti/ti_sci_pm_domains.c
@@ -23,15 +23,19 @@
 #include <linux/pm_domain.h>
 #include <linux/slab.h>
 #include <linux/soc/ti/ti_sci_protocol.h>
+#include <dt-bindings/soc/ti,sci_pm_domain.h>
 
 /**
  * struct ti_sci_genpd_dev_data: holds data needed for every device attached
  *				 to this genpd
  * @idx: index of the device that identifies it with the system
  *	 control processor.
+ * @exclusive: Permissions for exclusive request or shared request of the
+ *	       device.
  */
 struct ti_sci_genpd_dev_data {
 	int idx;
+	u8 exclusive;
 };
 
 /**
@@ -63,6 +67,14 @@ static int ti_sci_dev_id(struct device *dev)
 	return sci_dev_data->idx;
 }
 
+static u8 is_ti_sci_dev_exclusive(struct device *dev)
+{
+	struct generic_pm_domain_data *genpd_data = dev_gpd_data(dev);
+	struct ti_sci_genpd_dev_data *sci_dev_data = genpd_data->data;
+
+	return sci_dev_data->exclusive;
+}
+
 /**
  * ti_sci_dev_to_sci_handle(): get pointer to ti_sci_handle
  * @dev: pointer to device associated with this genpd
@@ -87,7 +99,10 @@ static int ti_sci_dev_start(struct device *dev)
 	const struct ti_sci_handle *ti_sci = ti_sci_dev_to_sci_handle(dev);
 	int idx = ti_sci_dev_id(dev);
 
-	return ti_sci->ops.dev_ops.get_device(ti_sci, idx);
+	if (is_ti_sci_dev_exclusive(dev))
+		return ti_sci->ops.dev_ops.get_device_exclusive(ti_sci, idx);
+	else
+		return ti_sci->ops.dev_ops.get_device(ti_sci, idx);
 }
 
 /**
@@ -118,7 +133,7 @@ static int ti_sci_pd_attach_dev(struct generic_pm_domain *domain,
 	if (ret < 0)
 		return ret;
 
-	if (pd_args.args_count != 1)
+	if (pd_args.args_count != 1 && pd_args.args_count != 2)
 		return -EINVAL;
 
 	idx = pd_args.args[0];
@@ -136,6 +151,10 @@ static int ti_sci_pd_attach_dev(struct generic_pm_domain *domain,
 		return -ENOMEM;
 
 	sci_dev_data->idx = idx;
+	/* Enable the exclusive permissions by default */
+	sci_dev_data->exclusive = TI_SCI_PD_EXCLUSIVE;
+	if (pd_args.args_count == 2)
+		sci_dev_data->exclusive = pd_args.args[1] & 0x1;
 
 	genpd_data = dev_gpd_data(dev);
 	genpd_data->data = sci_dev_data;
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 4/5] soc: ti: ti_sci_pm_domains: Switch to SPDX Licensing
  2019-04-10  5:37 ` Lokesh Vutla
@ 2019-04-10  5:37   ` Lokesh Vutla
  -1 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

Switch to SPDX licensing and drop the redundant GPL text.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 drivers/soc/ti/ti_sci_pm_domains.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/soc/ti/ti_sci_pm_domains.c b/drivers/soc/ti/ti_sci_pm_domains.c
index d017e3dc232c..69d51cde2971 100644
--- a/drivers/soc/ti/ti_sci_pm_domains.c
+++ b/drivers/soc/ti/ti_sci_pm_domains.c
@@ -1,18 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * TI SCI Generic Power Domain Driver
  *
  * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/
  *	J Keerthy <j-keerthy@ti.com>
  *	Dave Gerlach <d-gerlach@ti.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <linux/err.h>
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 4/5] soc: ti: ti_sci_pm_domains: Switch to SPDX Licensing
@ 2019-04-10  5:37   ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

Switch to SPDX licensing and drop the redundant GPL text.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 drivers/soc/ti/ti_sci_pm_domains.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/soc/ti/ti_sci_pm_domains.c b/drivers/soc/ti/ti_sci_pm_domains.c
index d017e3dc232c..69d51cde2971 100644
--- a/drivers/soc/ti/ti_sci_pm_domains.c
+++ b/drivers/soc/ti/ti_sci_pm_domains.c
@@ -1,18 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * TI SCI Generic Power Domain Driver
  *
  * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/
  *	J Keerthy <j-keerthy@ti.com>
  *	Dave Gerlach <d-gerlach@ti.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
  */
 
 #include <linux/err.h>
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 5/5] arm64: dts: ti: k3-am654: Update the power domain cells
  2019-04-10  5:37 ` Lokesh Vutla
@ 2019-04-10  5:37   ` Lokesh Vutla
  -1 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

Update the power-domain cells to 2 and mark all devices as
exclusive for now.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi   | 32 +++++++++++-----------
 arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi    | 10 +++----
 arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi |  6 ++--
 arch/arm64/boot/dts/ti/k3-am65.dtsi        |  1 +
 4 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
index 752455269fab..e29fa5cacf14 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
@@ -68,7 +68,7 @@
 		interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
 		current-speed = <115200>;
-		power-domains = <&k3_pds 146>;
+		power-domains = <&k3_pds 146 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_uart1: serial@2810000 {
@@ -78,7 +78,7 @@
 		reg-io-width = <4>;
 		interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
-		power-domains = <&k3_pds 147>;
+		power-domains = <&k3_pds 147 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_uart2: serial@2820000 {
@@ -88,7 +88,7 @@
 		reg-io-width = <4>;
 		interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
-		power-domains = <&k3_pds 148>;
+		power-domains = <&k3_pds 148 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_pmx0: pinmux@11c000 {
@@ -115,7 +115,7 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 110 1>;
-		power-domains = <&k3_pds 110>;
+		power-domains = <&k3_pds 110 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_i2c1: i2c@2010000 {
@@ -126,7 +126,7 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 111 1>;
-		power-domains = <&k3_pds 111>;
+		power-domains = <&k3_pds 111 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_i2c2: i2c@2020000 {
@@ -137,7 +137,7 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 112 1>;
-		power-domains = <&k3_pds 112>;
+		power-domains = <&k3_pds 112 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_i2c3: i2c@2030000 {
@@ -148,14 +148,14 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 113 1>;
-		power-domains = <&k3_pds 113>;
+		power-domains = <&k3_pds 113 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	ecap0: pwm@3100000 {
 		compatible = "ti,am654-ecap", "ti,am3352-ecap";
 		#pwm-cells = <3>;
 		reg = <0x0 0x03100000 0x0 0x60>;
-		power-domains = <&k3_pds 39>;
+		power-domains = <&k3_pds 39 TI_SCI_PD_EXCLUSIVE>;
 		clocks = <&k3_clks 39 0>;
 		clock-names = "fck";
 	};
@@ -165,7 +165,7 @@
 		reg = <0x0 0x2100000 0x0 0x400>;
 		interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 137 1>;
-		power-domains = <&k3_pds 137>;
+		power-domains = <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -175,7 +175,7 @@
 		reg = <0x0 0x2110000 0x0 0x400>;
 		interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 138 1>;
-		power-domains = <&k3_pds 138>;
+		power-domains = <&k3_pds 138 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 		assigned-clocks = <&k3_clks 137 1>;
@@ -187,7 +187,7 @@
 		reg = <0x0 0x2120000 0x0 0x400>;
 		interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 139 1>;
-		power-domains = <&k3_pds 139>;
+		power-domains = <&k3_pds 139 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -197,7 +197,7 @@
 		reg = <0x0 0x2130000 0x0 0x400>;
 		interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 140 1>;
-		power-domains = <&k3_pds 140>;
+		power-domains = <&k3_pds 140 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -207,7 +207,7 @@
 		reg = <0x0 0x2140000 0x0 0x400>;
 		interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 141 1>;
-		power-domains = <&k3_pds 141>;
+		power-domains = <&k3_pds 141 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -215,7 +215,7 @@
 	sdhci0: sdhci@4f80000 {
 		compatible = "ti,am654-sdhci-5.1";
 		reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
-		power-domains = <&k3_pds 47>;
+		power-domains = <&k3_pds 47 TI_SCI_PD_EXCLUSIVE>;
 		clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
 		clock-names = "clk_ahb", "clk_xin";
 		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
@@ -242,7 +242,7 @@
 		ranges = <0x0 0x0 0x4000000 0x20000>;
 		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
 		dma-coherent;
-		power-domains = <&k3_pds 151>;
+		power-domains = <&k3_pds 151 TI_SCI_PD_EXCLUSIVE>;
 		assigned-clocks = <&k3_clks 151 2>, <&k3_clks 151 7>;
 		assigned-clock-parents = <&k3_clks 151 4>,	/* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
 					 <&k3_clks 151 9>;	/* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */
@@ -281,7 +281,7 @@
 		ranges = <0x0 0x0 0x4020000 0x20000>;
 		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
 		dma-coherent;
-		power-domains = <&k3_pds 152>;
+		power-domains = <&k3_pds 152 TI_SCI_PD_EXCLUSIVE>;
 		assigned-clocks = <&k3_clks 152 2>;
 		assigned-clock-parents = <&k3_clks 152 4>;	/* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
 
diff --git a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
index 6f7d2b316ded..46200b230257 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
@@ -14,7 +14,7 @@
 			interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>;
 			clock-frequency = <96000000>;
 			current-speed = <115200>;
-			power-domains = <&k3_pds 149>;
+			power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	mcu_i2c0: i2c@40b00000 {
@@ -25,7 +25,7 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 114 1>;
-		power-domains = <&k3_pds 114>;
+		power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	mcu_spi0: spi@40300000 {
@@ -33,7 +33,7 @@
 		reg = <0x0 0x40300000 0x0 0x400>;
 		interrupts = <GIC_SPI 560 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 142 1>;
-		power-domains = <&k3_pds 142>;
+		power-domains = <&k3_pds 142 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -43,7 +43,7 @@
 		reg = <0x0 0x40310000 0x0 0x400>;
 		interrupts = <GIC_SPI 561 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 143 1>;
-		power-domains = <&k3_pds 143>;
+		power-domains = <&k3_pds 143 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -53,7 +53,7 @@
 		reg = <0x0 0x40320000 0x0 0x400>;
 		interrupts = <GIC_SPI 562 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 144 1>;
-		power-domains = <&k3_pds 144>;
+		power-domains = <&k3_pds 144 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
diff --git a/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
index 7cbdc0912ab7..ccbc91e85c90 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
@@ -20,7 +20,7 @@
 
 		k3_pds: power-controller {
 			compatible = "ti,sci-pm-domain";
-			#power-domain-cells = <1>;
+			#power-domain-cells = <2>;
 		};
 
 		k3_clks: clocks {
@@ -50,7 +50,7 @@
 		interrupts = <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
 		current-speed = <115200>;
-		power-domains = <&k3_pds 150>;
+		power-domains = <&k3_pds 150 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	wkup_i2c0: i2c@42120000 {
@@ -61,6 +61,6 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 115 1>;
-		power-domains = <&k3_pds 115>;
+		power-domains = <&k3_pds 115 TI_SCI_PD_EXCLUSIVE>;
 	};
 };
diff --git a/arch/arm64/boot/dts/ti/k3-am65.dtsi b/arch/arm64/boot/dts/ti/k3-am65.dtsi
index 50f4be2047a9..3aeb69e6638c 100644
--- a/arch/arm64/boot/dts/ti/k3-am65.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65.dtsi
@@ -9,6 +9,7 @@
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/pinctrl/k3.h>
+#include <dt-bindings/soc/ti,sci_pm_domain.h>
 
 / {
 	model = "Texas Instruments K3 AM654 SoC";
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH v3 5/5] arm64: dts: ti: k3-am654: Update the power domain cells
@ 2019-04-10  5:37   ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10  5:37 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Lokesh Vutla, Device Tree Mailing List, Sekhar Nori,
	Linux ARM Mailing List

Update the power-domain cells to 2 and mark all devices as
exclusive for now.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi   | 32 +++++++++++-----------
 arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi    | 10 +++----
 arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi |  6 ++--
 arch/arm64/boot/dts/ti/k3-am65.dtsi        |  1 +
 4 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
index 752455269fab..e29fa5cacf14 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
@@ -68,7 +68,7 @@
 		interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
 		current-speed = <115200>;
-		power-domains = <&k3_pds 146>;
+		power-domains = <&k3_pds 146 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_uart1: serial@2810000 {
@@ -78,7 +78,7 @@
 		reg-io-width = <4>;
 		interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
-		power-domains = <&k3_pds 147>;
+		power-domains = <&k3_pds 147 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_uart2: serial@2820000 {
@@ -88,7 +88,7 @@
 		reg-io-width = <4>;
 		interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
-		power-domains = <&k3_pds 148>;
+		power-domains = <&k3_pds 148 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_pmx0: pinmux@11c000 {
@@ -115,7 +115,7 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 110 1>;
-		power-domains = <&k3_pds 110>;
+		power-domains = <&k3_pds 110 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_i2c1: i2c@2010000 {
@@ -126,7 +126,7 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 111 1>;
-		power-domains = <&k3_pds 111>;
+		power-domains = <&k3_pds 111 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_i2c2: i2c@2020000 {
@@ -137,7 +137,7 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 112 1>;
-		power-domains = <&k3_pds 112>;
+		power-domains = <&k3_pds 112 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	main_i2c3: i2c@2030000 {
@@ -148,14 +148,14 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 113 1>;
-		power-domains = <&k3_pds 113>;
+		power-domains = <&k3_pds 113 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	ecap0: pwm@3100000 {
 		compatible = "ti,am654-ecap", "ti,am3352-ecap";
 		#pwm-cells = <3>;
 		reg = <0x0 0x03100000 0x0 0x60>;
-		power-domains = <&k3_pds 39>;
+		power-domains = <&k3_pds 39 TI_SCI_PD_EXCLUSIVE>;
 		clocks = <&k3_clks 39 0>;
 		clock-names = "fck";
 	};
@@ -165,7 +165,7 @@
 		reg = <0x0 0x2100000 0x0 0x400>;
 		interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 137 1>;
-		power-domains = <&k3_pds 137>;
+		power-domains = <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -175,7 +175,7 @@
 		reg = <0x0 0x2110000 0x0 0x400>;
 		interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 138 1>;
-		power-domains = <&k3_pds 138>;
+		power-domains = <&k3_pds 138 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 		assigned-clocks = <&k3_clks 137 1>;
@@ -187,7 +187,7 @@
 		reg = <0x0 0x2120000 0x0 0x400>;
 		interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 139 1>;
-		power-domains = <&k3_pds 139>;
+		power-domains = <&k3_pds 139 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -197,7 +197,7 @@
 		reg = <0x0 0x2130000 0x0 0x400>;
 		interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 140 1>;
-		power-domains = <&k3_pds 140>;
+		power-domains = <&k3_pds 140 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -207,7 +207,7 @@
 		reg = <0x0 0x2140000 0x0 0x400>;
 		interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 141 1>;
-		power-domains = <&k3_pds 141>;
+		power-domains = <&k3_pds 141 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -215,7 +215,7 @@
 	sdhci0: sdhci@4f80000 {
 		compatible = "ti,am654-sdhci-5.1";
 		reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
-		power-domains = <&k3_pds 47>;
+		power-domains = <&k3_pds 47 TI_SCI_PD_EXCLUSIVE>;
 		clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
 		clock-names = "clk_ahb", "clk_xin";
 		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
@@ -242,7 +242,7 @@
 		ranges = <0x0 0x0 0x4000000 0x20000>;
 		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
 		dma-coherent;
-		power-domains = <&k3_pds 151>;
+		power-domains = <&k3_pds 151 TI_SCI_PD_EXCLUSIVE>;
 		assigned-clocks = <&k3_clks 151 2>, <&k3_clks 151 7>;
 		assigned-clock-parents = <&k3_clks 151 4>,	/* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
 					 <&k3_clks 151 9>;	/* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */
@@ -281,7 +281,7 @@
 		ranges = <0x0 0x0 0x4020000 0x20000>;
 		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
 		dma-coherent;
-		power-domains = <&k3_pds 152>;
+		power-domains = <&k3_pds 152 TI_SCI_PD_EXCLUSIVE>;
 		assigned-clocks = <&k3_clks 152 2>;
 		assigned-clock-parents = <&k3_clks 152 4>;	/* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
 
diff --git a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
index 6f7d2b316ded..46200b230257 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
@@ -14,7 +14,7 @@
 			interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>;
 			clock-frequency = <96000000>;
 			current-speed = <115200>;
-			power-domains = <&k3_pds 149>;
+			power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	mcu_i2c0: i2c@40b00000 {
@@ -25,7 +25,7 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 114 1>;
-		power-domains = <&k3_pds 114>;
+		power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	mcu_spi0: spi@40300000 {
@@ -33,7 +33,7 @@
 		reg = <0x0 0x40300000 0x0 0x400>;
 		interrupts = <GIC_SPI 560 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 142 1>;
-		power-domains = <&k3_pds 142>;
+		power-domains = <&k3_pds 142 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -43,7 +43,7 @@
 		reg = <0x0 0x40310000 0x0 0x400>;
 		interrupts = <GIC_SPI 561 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 143 1>;
-		power-domains = <&k3_pds 143>;
+		power-domains = <&k3_pds 143 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
@@ -53,7 +53,7 @@
 		reg = <0x0 0x40320000 0x0 0x400>;
 		interrupts = <GIC_SPI 562 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&k3_clks 144 1>;
-		power-domains = <&k3_pds 144>;
+		power-domains = <&k3_pds 144 TI_SCI_PD_EXCLUSIVE>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
diff --git a/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
index 7cbdc0912ab7..ccbc91e85c90 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
@@ -20,7 +20,7 @@
 
 		k3_pds: power-controller {
 			compatible = "ti,sci-pm-domain";
-			#power-domain-cells = <1>;
+			#power-domain-cells = <2>;
 		};
 
 		k3_clks: clocks {
@@ -50,7 +50,7 @@
 		interrupts = <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
 		current-speed = <115200>;
-		power-domains = <&k3_pds 150>;
+		power-domains = <&k3_pds 150 TI_SCI_PD_EXCLUSIVE>;
 	};
 
 	wkup_i2c0: i2c@42120000 {
@@ -61,6 +61,6 @@
 		#size-cells = <0>;
 		clock-names = "fck";
 		clocks = <&k3_clks 115 1>;
-		power-domains = <&k3_pds 115>;
+		power-domains = <&k3_pds 115 TI_SCI_PD_EXCLUSIVE>;
 	};
 };
diff --git a/arch/arm64/boot/dts/ti/k3-am65.dtsi b/arch/arm64/boot/dts/ti/k3-am65.dtsi
index 50f4be2047a9..3aeb69e6638c 100644
--- a/arch/arm64/boot/dts/ti/k3-am65.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65.dtsi
@@ -9,6 +9,7 @@
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/pinctrl/k3.h>
+#include <dt-bindings/soc/ti,sci_pm_domain.h>
 
 / {
 	model = "Texas Instruments K3 AM654 SoC";
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10  5:37   ` Lokesh Vutla
@ 2019-04-10  8:04     ` Tero Kristo
  -1 siblings, 0 replies; 29+ messages in thread
From: Tero Kristo @ 2019-04-10  8:04 UTC (permalink / raw)
  To: Lokesh Vutla, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

On 10/04/2019 08:37, Lokesh Vutla wrote:
> TISCI protocol supports for enabling the device either with exclusive
> permissions for the requesting host or with sharing across the hosts.
> There are certain devices which are exclusive to Linux context and
> there are certain devices that are shared across different host contexts.
> So add support for getting this information from DT by increasing
> the power-domain cells to 2.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> ---
>   .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>   MAINTAINERS                                           |  1 +
>   include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>   3 files changed, 19 insertions(+), 2 deletions(-)
>   create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
> 
> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> index f7b00a7c0f68..f541d1f776a2 100644
> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> @@ -19,8 +19,15 @@ child of the pmmc node.
>   Required Properties:
>   --------------------
>   - compatible: should be "ti,sci-pm-domain"
> -- #power-domain-cells: Must be 1 so that an id can be provided in each
> -		       device node.
> +- #power-domain-cells: Can be one of the following:
> +			1: Containing the device id of each node
> +			2: First entry should be device id
> +			   Second entry should be one of the floowing:
> +			   TI_SCI_PD_EXCLUSIVE: To allow device to be
> +						exclusively controlled by
> +						the requesting hosts.
> +			   TI_SCI_PD_SHARED: To allow device to be shared
> +					     by multiple hosts.

One thing should be noted on this, the added flag is purely for software 
configuration, and is not telling us anything about the HW / firmware. 
Software can decide to have the flag either way and it will work. I just 
wonder if DT is the correct location to have something like this... 
Expect to have plenty of churn on this by people swapping the 
permissions around according to their use-case needs.

-Tero


>   
>   Example (K2G):
>   -------------
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2359e12e4c41..dc7a19cc1831 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15345,6 +15345,7 @@ F:	drivers/firmware/ti_sci*
>   F:	include/linux/soc/ti/ti_sci_protocol.h
>   F:	Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>   F:	drivers/soc/ti/ti_sci_pm_domains.c
> +F:	include/dt-bindings/soc/ti,sci_pm_domain.h
>   F:	Documentation/devicetree/bindings/reset/ti,sci-reset.txt
>   F:	Documentation/devicetree/bindings/clock/ti,sci-clk.txt
>   F:	drivers/clk/keystone/sci-clk.c
> diff --git a/include/dt-bindings/soc/ti,sci_pm_domain.h b/include/dt-bindings/soc/ti,sci_pm_domain.h
> new file mode 100644
> index 000000000000..8f2a7360b65e
> --- /dev/null
> +++ b/include/dt-bindings/soc/ti,sci_pm_domain.h
> @@ -0,0 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#ifndef __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
> +#define __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
> +
> +#define TI_SCI_PD_EXCLUSIVE	1
> +#define TI_SCI_PD_SHARED	0
> +
> +#endif /* __DT_BINDINGS_TI_SCI_PM_DOMAIN_H */
> 

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
@ 2019-04-10  8:04     ` Tero Kristo
  0 siblings, 0 replies; 29+ messages in thread
From: Tero Kristo @ 2019-04-10  8:04 UTC (permalink / raw)
  To: Lokesh Vutla, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

On 10/04/2019 08:37, Lokesh Vutla wrote:
> TISCI protocol supports for enabling the device either with exclusive
> permissions for the requesting host or with sharing across the hosts.
> There are certain devices which are exclusive to Linux context and
> there are certain devices that are shared across different host contexts.
> So add support for getting this information from DT by increasing
> the power-domain cells to 2.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> ---
>   .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>   MAINTAINERS                                           |  1 +
>   include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>   3 files changed, 19 insertions(+), 2 deletions(-)
>   create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
> 
> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> index f7b00a7c0f68..f541d1f776a2 100644
> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> @@ -19,8 +19,15 @@ child of the pmmc node.
>   Required Properties:
>   --------------------
>   - compatible: should be "ti,sci-pm-domain"
> -- #power-domain-cells: Must be 1 so that an id can be provided in each
> -		       device node.
> +- #power-domain-cells: Can be one of the following:
> +			1: Containing the device id of each node
> +			2: First entry should be device id
> +			   Second entry should be one of the floowing:
> +			   TI_SCI_PD_EXCLUSIVE: To allow device to be
> +						exclusively controlled by
> +						the requesting hosts.
> +			   TI_SCI_PD_SHARED: To allow device to be shared
> +					     by multiple hosts.

One thing should be noted on this, the added flag is purely for software 
configuration, and is not telling us anything about the HW / firmware. 
Software can decide to have the flag either way and it will work. I just 
wonder if DT is the correct location to have something like this... 
Expect to have plenty of churn on this by people swapping the 
permissions around according to their use-case needs.

-Tero


>   
>   Example (K2G):
>   -------------
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2359e12e4c41..dc7a19cc1831 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15345,6 +15345,7 @@ F:	drivers/firmware/ti_sci*
>   F:	include/linux/soc/ti/ti_sci_protocol.h
>   F:	Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>   F:	drivers/soc/ti/ti_sci_pm_domains.c
> +F:	include/dt-bindings/soc/ti,sci_pm_domain.h
>   F:	Documentation/devicetree/bindings/reset/ti,sci-reset.txt
>   F:	Documentation/devicetree/bindings/clock/ti,sci-clk.txt
>   F:	drivers/clk/keystone/sci-clk.c
> diff --git a/include/dt-bindings/soc/ti,sci_pm_domain.h b/include/dt-bindings/soc/ti,sci_pm_domain.h
> new file mode 100644
> index 000000000000..8f2a7360b65e
> --- /dev/null
> +++ b/include/dt-bindings/soc/ti,sci_pm_domain.h
> @@ -0,0 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#ifndef __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
> +#define __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
> +
> +#define TI_SCI_PD_EXCLUSIVE	1
> +#define TI_SCI_PD_SHARED	0
> +
> +#endif /* __DT_BINDINGS_TI_SCI_PM_DOMAIN_H */
> 

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10  8:04     ` Tero Kristo
  (?)
@ 2019-04-10 12:37     ` Lokesh Vutla
  2019-04-10 12:49       ` Tero Kristo
  -1 siblings, 1 reply; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10 12:37 UTC (permalink / raw)
  To: Tero Kristo, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

Hi Tero,

On 10/04/19 1:34 PM, Tero Kristo wrote:
> On 10/04/2019 08:37, Lokesh Vutla wrote:
>> TISCI protocol supports for enabling the device either with exclusive
>> permissions for the requesting host or with sharing across the hosts.
>> There are certain devices which are exclusive to Linux context and
>> there are certain devices that are shared across different host contexts.
>> So add support for getting this information from DT by increasing
>> the power-domain cells to 2.
>>
>> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
>> ---
>>   .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>>   MAINTAINERS                                           |  1 +
>>   include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>>   3 files changed, 19 insertions(+), 2 deletions(-)
>>   create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
>>
>> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> index f7b00a7c0f68..f541d1f776a2 100644
>> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> @@ -19,8 +19,15 @@ child of the pmmc node.
>>   Required Properties:
>>   --------------------
>>   - compatible: should be "ti,sci-pm-domain"
>> -- #power-domain-cells: Must be 1 so that an id can be provided in each
>> -               device node.
>> +- #power-domain-cells: Can be one of the following:
>> +            1: Containing the device id of each node
>> +            2: First entry should be device id
>> +               Second entry should be one of the floowing:
>> +               TI_SCI_PD_EXCLUSIVE: To allow device to be
>> +                        exclusively controlled by
>> +                        the requesting hosts.
>> +               TI_SCI_PD_SHARED: To allow device to be shared
>> +                         by multiple hosts.
> 
> One thing should be noted on this, the added flag is purely for software
> configuration, and is not telling us anything about the HW / firmware. Software

I does say about how firmware handles the requested device.

> can decide to have the flag either way and it will work. I just wonder if DT is
> the correct location to have something like this... Expect to have plenty of
> churn on this by people swapping the permissions around according to their
> use-case needs.

Do you have any other suggestion to handle shared devices across VMs?

Thanks and regards,
Lokesh

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10 12:37     ` Lokesh Vutla
@ 2019-04-10 12:49       ` Tero Kristo
  2019-04-10 13:15         ` Lokesh Vutla
  0 siblings, 1 reply; 29+ messages in thread
From: Tero Kristo @ 2019-04-10 12:49 UTC (permalink / raw)
  To: Lokesh Vutla, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

On 10/04/2019 15:37, Lokesh Vutla wrote:
> Hi Tero,
> 
> On 10/04/19 1:34 PM, Tero Kristo wrote:
>> On 10/04/2019 08:37, Lokesh Vutla wrote:
>>> TISCI protocol supports for enabling the device either with exclusive
>>> permissions for the requesting host or with sharing across the hosts.
>>> There are certain devices which are exclusive to Linux context and
>>> there are certain devices that are shared across different host contexts.
>>> So add support for getting this information from DT by increasing
>>> the power-domain cells to 2.
>>>
>>> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
>>> ---
>>>    .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>>>    MAINTAINERS                                           |  1 +
>>>    include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>>>    3 files changed, 19 insertions(+), 2 deletions(-)
>>>    create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
>>>
>>> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>> b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>> index f7b00a7c0f68..f541d1f776a2 100644
>>> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>> @@ -19,8 +19,15 @@ child of the pmmc node.
>>>    Required Properties:
>>>    --------------------
>>>    - compatible: should be "ti,sci-pm-domain"
>>> -- #power-domain-cells: Must be 1 so that an id can be provided in each
>>> -               device node.
>>> +- #power-domain-cells: Can be one of the following:
>>> +            1: Containing the device id of each node
>>> +            2: First entry should be device id
>>> +               Second entry should be one of the floowing:
>>> +               TI_SCI_PD_EXCLUSIVE: To allow device to be
>>> +                        exclusively controlled by
>>> +                        the requesting hosts.
>>> +               TI_SCI_PD_SHARED: To allow device to be shared
>>> +                         by multiple hosts.
>>
>> One thing should be noted on this, the added flag is purely for software
>> configuration, and is not telling us anything about the HW / firmware. Software
> 
> I does say about how firmware handles the requested device.

There is a slight nuance in the wording here. It tells the firmware how 
to handle the device, and you can basically use either flag and it will 
work... until someone else attempts to use the same device. I recall DT 
was supposed to describe the hardware, not to tell us how to use it.

> 
>> can decide to have the flag either way and it will work. I just wonder if DT is
>> the correct location to have something like this... Expect to have plenty of
>> churn on this by people swapping the permissions around according to their
>> use-case needs.
> 
> Do you have any other suggestion to handle shared devices across VMs?

Well, we should have configuration data available somewhere, but it 
sounds like DT might be wrong location for this. Maybe a whitelist of 
devices that can be shared somewhere. Maybe under the PD driver itself. 
Do we have any examples for something similar available in the kernel today?

-Tero
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10 12:49       ` Tero Kristo
@ 2019-04-10 13:15         ` Lokesh Vutla
  2019-04-10 15:38           ` Tero Kristo
  0 siblings, 1 reply; 29+ messages in thread
From: Lokesh Vutla @ 2019-04-10 13:15 UTC (permalink / raw)
  To: Tero Kristo, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List



On 10/04/19 6:19 PM, Tero Kristo wrote:
> On 10/04/2019 15:37, Lokesh Vutla wrote:
>> Hi Tero,
>>
>> On 10/04/19 1:34 PM, Tero Kristo wrote:
>>> On 10/04/2019 08:37, Lokesh Vutla wrote:
>>>> TISCI protocol supports for enabling the device either with exclusive
>>>> permissions for the requesting host or with sharing across the hosts.
>>>> There are certain devices which are exclusive to Linux context and
>>>> there are certain devices that are shared across different host contexts.
>>>> So add support for getting this information from DT by increasing
>>>> the power-domain cells to 2.
>>>>
>>>> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
>>>> ---
>>>>    .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>>>>    MAINTAINERS                                           |  1 +
>>>>    include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>>>>    3 files changed, 19 insertions(+), 2 deletions(-)
>>>>    create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>> b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>> index f7b00a7c0f68..f541d1f776a2 100644
>>>> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>> @@ -19,8 +19,15 @@ child of the pmmc node.
>>>>    Required Properties:
>>>>    --------------------
>>>>    - compatible: should be "ti,sci-pm-domain"
>>>> -- #power-domain-cells: Must be 1 so that an id can be provided in each
>>>> -               device node.
>>>> +- #power-domain-cells: Can be one of the following:
>>>> +            1: Containing the device id of each node
>>>> +            2: First entry should be device id
>>>> +               Second entry should be one of the floowing:
>>>> +               TI_SCI_PD_EXCLUSIVE: To allow device to be
>>>> +                        exclusively controlled by
>>>> +                        the requesting hosts.
>>>> +               TI_SCI_PD_SHARED: To allow device to be shared
>>>> +                         by multiple hosts.
>>>
>>> One thing should be noted on this, the added flag is purely for software
>>> configuration, and is not telling us anything about the HW / firmware. Software
>>
>> I does say about how firmware handles the requested device.
> 
> There is a slight nuance in the wording here. It tells the firmware how to
> handle the device, and you can basically use either flag and it will work...
> until someone else attempts to use the same device. I recall DT was supposed to
> describe the hardware, not to tell us how to use it.

Well Ill put it this way. This flag describes that the requested device is a
shared device across multiple hosts :)

> 
>>
>>> can decide to have the flag either way and it will work. I just wonder if DT is
>>> the correct location to have something like this... Expect to have plenty of
>>> churn on this by people swapping the permissions around according to their
>>> use-case needs.
>>
>> Do you have any other suggestion to handle shared devices across VMs?
> 
> Well, we should have configuration data available somewhere, but it sounds like
> DT might be wrong location for this. Maybe a whitelist of devices that can be
> shared somewhere. Maybe under the PD driver itself. Do we have any examples for

We will end up creating a separate list for each SoC and it might change per use
case. I would not like to go down that road.

Thanks and regards,
Lokesh

> something similar available in the kernel today?
> 
> -Tero
> -- 
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10 13:15         ` Lokesh Vutla
@ 2019-04-10 15:38           ` Tero Kristo
  2019-04-11 14:34               ` Tony Lindgren
  0 siblings, 1 reply; 29+ messages in thread
From: Tero Kristo @ 2019-04-10 15:38 UTC (permalink / raw)
  To: Lokesh Vutla, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

On 10/04/2019 16:15, Lokesh Vutla wrote:
> 
> 
> On 10/04/19 6:19 PM, Tero Kristo wrote:
>> On 10/04/2019 15:37, Lokesh Vutla wrote:
>>> Hi Tero,
>>>
>>> On 10/04/19 1:34 PM, Tero Kristo wrote:
>>>> On 10/04/2019 08:37, Lokesh Vutla wrote:
>>>>> TISCI protocol supports for enabling the device either with exclusive
>>>>> permissions for the requesting host or with sharing across the hosts.
>>>>> There are certain devices which are exclusive to Linux context and
>>>>> there are certain devices that are shared across different host contexts.
>>>>> So add support for getting this information from DT by increasing
>>>>> the power-domain cells to 2.
>>>>>
>>>>> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
>>>>> ---
>>>>>     .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>>>>>     MAINTAINERS                                           |  1 +
>>>>>     include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>>>>>     3 files changed, 19 insertions(+), 2 deletions(-)
>>>>>     create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>>> b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>>> index f7b00a7c0f68..f541d1f776a2 100644
>>>>> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>>> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>>> @@ -19,8 +19,15 @@ child of the pmmc node.
>>>>>     Required Properties:
>>>>>     --------------------
>>>>>     - compatible: should be "ti,sci-pm-domain"
>>>>> -- #power-domain-cells: Must be 1 so that an id can be provided in each
>>>>> -               device node.
>>>>> +- #power-domain-cells: Can be one of the following:
>>>>> +            1: Containing the device id of each node
>>>>> +            2: First entry should be device id
>>>>> +               Second entry should be one of the floowing:
>>>>> +               TI_SCI_PD_EXCLUSIVE: To allow device to be
>>>>> +                        exclusively controlled by
>>>>> +                        the requesting hosts.
>>>>> +               TI_SCI_PD_SHARED: To allow device to be shared
>>>>> +                         by multiple hosts.
>>>>
>>>> One thing should be noted on this, the added flag is purely for software
>>>> configuration, and is not telling us anything about the HW / firmware. Software
>>>
>>> I does say about how firmware handles the requested device.
>>
>> There is a slight nuance in the wording here. It tells the firmware how to
>> handle the device, and you can basically use either flag and it will work...
>> until someone else attempts to use the same device. I recall DT was supposed to
>> describe the hardware, not to tell us how to use it.
> 
> Well Ill put it this way. This flag describes that the requested device is a
> shared device across multiple hosts :)

But that is pure software config, right? Depends on the software design 
choices made, which host is going to use which resource. Personally I 
don't think this justifies a DT binding, but I might be wrong. I'll let 
Rob comment on this.

-Tero

> 
>>
>>>
>>>> can decide to have the flag either way and it will work. I just wonder if DT is
>>>> the correct location to have something like this... Expect to have plenty of
>>>> churn on this by people swapping the permissions around according to their
>>>> use-case needs.
>>>
>>> Do you have any other suggestion to handle shared devices across VMs?
>>
>> Well, we should have configuration data available somewhere, but it sounds like
>> DT might be wrong location for this. Maybe a whitelist of devices that can be
>> shared somewhere. Maybe under the PD driver itself. Do we have any examples for
> 
> We will end up creating a separate list for each SoC and it might change per use
> case. I would not like to go down that road.
> 
> Thanks and regards,
> Lokesh
> 
>> something similar available in the kernel today?
>>
>> -Tero
>> -- 

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10 15:38           ` Tero Kristo
@ 2019-04-11 14:34               ` Tony Lindgren
  0 siblings, 0 replies; 29+ messages in thread
From: Tony Lindgren @ 2019-04-11 14:34 UTC (permalink / raw)
  To: Tero Kristo
  Cc: Nishanth Menon, Device Tree Mailing List, Lokesh Vutla,
	Sekhar Nori, Rob Herring, Santosh Shilimkar,
	Linux ARM Mailing List

* Tero Kristo <t-kristo@ti.com> [190410 15:39]:
> On 10/04/2019 16:15, Lokesh Vutla wrote:
> > Well Ill put it this way. This flag describes that the requested device is a
> > shared device across multiple hosts :)
> 
> But that is pure software config, right? Depends on the software design
> choices made, which host is going to use which resource. Personally I don't
> think this justifies a DT binding, but I might be wrong. I'll let Rob
> comment on this.

I agree. It's best to stick to basics with the device tree bindings
and not put any software flags there.

You can configure things on init in the device driver based on
compatible and soc_device_match().

Regards,

Tony

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
@ 2019-04-11 14:34               ` Tony Lindgren
  0 siblings, 0 replies; 29+ messages in thread
From: Tony Lindgren @ 2019-04-11 14:34 UTC (permalink / raw)
  To: Tero Kristo
  Cc: Nishanth Menon, Device Tree Mailing List, Lokesh Vutla,
	Sekhar Nori, Rob Herring, Santosh Shilimkar,
	Linux ARM Mailing List

* Tero Kristo <t-kristo@ti.com> [190410 15:39]:
> On 10/04/2019 16:15, Lokesh Vutla wrote:
> > Well Ill put it this way. This flag describes that the requested device is a
> > shared device across multiple hosts :)
> 
> But that is pure software config, right? Depends on the software design
> choices made, which host is going to use which resource. Personally I don't
> think this justifies a DT binding, but I might be wrong. I'll let Rob
> comment on this.

I agree. It's best to stick to basics with the device tree bindings
and not put any software flags there.

You can configure things on init in the device driver based on
compatible and soc_device_match().

Regards,

Tony

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10  5:37   ` Lokesh Vutla
@ 2019-05-02  9:24     ` Tero Kristo
  -1 siblings, 0 replies; 29+ messages in thread
From: Tero Kristo @ 2019-05-02  9:24 UTC (permalink / raw)
  To: Lokesh Vutla, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

On 10/04/2019 08:37, Lokesh Vutla wrote:
> TISCI protocol supports for enabling the device either with exclusive
> permissions for the requesting host or with sharing across the hosts.
> There are certain devices which are exclusive to Linux context and
> there are certain devices that are shared across different host contexts.
> So add support for getting this information from DT by increasing
> the power-domain cells to 2.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Based on some offline discussions with Rob, I am withdrawing my concerns 
on this patch, thus:

Acked-by: Tero Kristo <t-kristo@ti.com>

We would still need ack from Rob though.

-Tero

> ---
>   .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>   MAINTAINERS                                           |  1 +
>   include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>   3 files changed, 19 insertions(+), 2 deletions(-)
>   create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
> 
> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> index f7b00a7c0f68..f541d1f776a2 100644
> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> @@ -19,8 +19,15 @@ child of the pmmc node.
>   Required Properties:
>   --------------------
>   - compatible: should be "ti,sci-pm-domain"
> -- #power-domain-cells: Must be 1 so that an id can be provided in each
> -		       device node.
> +- #power-domain-cells: Can be one of the following:
> +			1: Containing the device id of each node
> +			2: First entry should be device id
> +			   Second entry should be one of the floowing:
> +			   TI_SCI_PD_EXCLUSIVE: To allow device to be
> +						exclusively controlled by
> +						the requesting hosts.
> +			   TI_SCI_PD_SHARED: To allow device to be shared
> +					     by multiple hosts.
>   
>   Example (K2G):
>   -------------
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2359e12e4c41..dc7a19cc1831 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15345,6 +15345,7 @@ F:	drivers/firmware/ti_sci*
>   F:	include/linux/soc/ti/ti_sci_protocol.h
>   F:	Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>   F:	drivers/soc/ti/ti_sci_pm_domains.c
> +F:	include/dt-bindings/soc/ti,sci_pm_domain.h
>   F:	Documentation/devicetree/bindings/reset/ti,sci-reset.txt
>   F:	Documentation/devicetree/bindings/clock/ti,sci-clk.txt
>   F:	drivers/clk/keystone/sci-clk.c
> diff --git a/include/dt-bindings/soc/ti,sci_pm_domain.h b/include/dt-bindings/soc/ti,sci_pm_domain.h
> new file mode 100644
> index 000000000000..8f2a7360b65e
> --- /dev/null
> +++ b/include/dt-bindings/soc/ti,sci_pm_domain.h
> @@ -0,0 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#ifndef __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
> +#define __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
> +
> +#define TI_SCI_PD_EXCLUSIVE	1
> +#define TI_SCI_PD_SHARED	0
> +
> +#endif /* __DT_BINDINGS_TI_SCI_PM_DOMAIN_H */
> 

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
@ 2019-05-02  9:24     ` Tero Kristo
  0 siblings, 0 replies; 29+ messages in thread
From: Tero Kristo @ 2019-05-02  9:24 UTC (permalink / raw)
  To: Lokesh Vutla, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

On 10/04/2019 08:37, Lokesh Vutla wrote:
> TISCI protocol supports for enabling the device either with exclusive
> permissions for the requesting host or with sharing across the hosts.
> There are certain devices which are exclusive to Linux context and
> there are certain devices that are shared across different host contexts.
> So add support for getting this information from DT by increasing
> the power-domain cells to 2.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Based on some offline discussions with Rob, I am withdrawing my concerns 
on this patch, thus:

Acked-by: Tero Kristo <t-kristo@ti.com>

We would still need ack from Rob though.

-Tero

> ---
>   .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>   MAINTAINERS                                           |  1 +
>   include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>   3 files changed, 19 insertions(+), 2 deletions(-)
>   create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
> 
> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> index f7b00a7c0f68..f541d1f776a2 100644
> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
> @@ -19,8 +19,15 @@ child of the pmmc node.
>   Required Properties:
>   --------------------
>   - compatible: should be "ti,sci-pm-domain"
> -- #power-domain-cells: Must be 1 so that an id can be provided in each
> -		       device node.
> +- #power-domain-cells: Can be one of the following:
> +			1: Containing the device id of each node
> +			2: First entry should be device id
> +			   Second entry should be one of the floowing:
> +			   TI_SCI_PD_EXCLUSIVE: To allow device to be
> +						exclusively controlled by
> +						the requesting hosts.
> +			   TI_SCI_PD_SHARED: To allow device to be shared
> +					     by multiple hosts.
>   
>   Example (K2G):
>   -------------
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2359e12e4c41..dc7a19cc1831 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15345,6 +15345,7 @@ F:	drivers/firmware/ti_sci*
>   F:	include/linux/soc/ti/ti_sci_protocol.h
>   F:	Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>   F:	drivers/soc/ti/ti_sci_pm_domains.c
> +F:	include/dt-bindings/soc/ti,sci_pm_domain.h
>   F:	Documentation/devicetree/bindings/reset/ti,sci-reset.txt
>   F:	Documentation/devicetree/bindings/clock/ti,sci-clk.txt
>   F:	drivers/clk/keystone/sci-clk.c
> diff --git a/include/dt-bindings/soc/ti,sci_pm_domain.h b/include/dt-bindings/soc/ti,sci_pm_domain.h
> new file mode 100644
> index 000000000000..8f2a7360b65e
> --- /dev/null
> +++ b/include/dt-bindings/soc/ti,sci_pm_domain.h
> @@ -0,0 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#ifndef __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
> +#define __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
> +
> +#define TI_SCI_PD_EXCLUSIVE	1
> +#define TI_SCI_PD_SHARED	0
> +
> +#endif /* __DT_BINDINGS_TI_SCI_PM_DOMAIN_H */
> 

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 0/5] soc: ti: k3-am654: Allow for exclusive and shared device requests
  2019-04-10  5:37 ` Lokesh Vutla
@ 2019-05-29  8:58   ` Lokesh Vutla
  -1 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-05-29  8:58 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

Hi Rob, Tero,

On 10/04/19 11:07 AM, Lokesh Vutla wrote:
> Sysfw provides an option for requesting exclusive access for a
> device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is
> not used, the device is meant to be shared across hosts. Once a device
> is requested from a host with this flag set, any request to this
> device from a different host will be nacked by sysfw.
> 
> Current tisci firmware and pm drivers always requests for device with
> exclusive permissions set. But this is not be true for certain devices
> that are expcted to be shared across different host contexts.
> So add support for getting the shared or exclusive permissions from DT
> and request firmware accordingly.
> 

If there are no comments on this series, can this be merged?

Thanks and regards,
Lokesh

> Changes since v2:
> - Added macros for new power-domain cell
> - Rebased on top of v5.1-rc4
> - Updated commit messages.
> 
> Lokesh Vutla (5):
>   firmware: ti_sci: Allow for device shared and exclusive requests
>   dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared
>     access
>   soc: ti: ti_sci_pm_domains: Add support for exclusive and shared
>     access
>   soc: ti: ti_sci_pm_domains: Switch to SPDX Licensing
>   arm64: dts: ti: k3-am654: Update the power domain cells
> 
>  .../bindings/soc/ti/sci-pm-domain.txt         | 11 ++++-
>  MAINTAINERS                                   |  1 +
>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      | 32 ++++++-------
>  arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi       | 10 ++---
>  arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi    |  6 +--
>  arch/arm64/boot/dts/ti/k3-am65.dtsi           |  1 +
>  drivers/firmware/ti_sci.c                     | 45 ++++++++++++++++++-
>  drivers/soc/ti/ti_sci_pm_domains.c            | 33 +++++++++-----
>  include/dt-bindings/soc/ti,sci_pm_domain.h    |  9 ++++
>  include/linux/soc/ti/ti_sci_protocol.h        |  3 ++
>  10 files changed, 112 insertions(+), 39 deletions(-)
>  create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 0/5] soc: ti: k3-am654: Allow for exclusive and shared device requests
@ 2019-05-29  8:58   ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-05-29  8:58 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

Hi Rob, Tero,

On 10/04/19 11:07 AM, Lokesh Vutla wrote:
> Sysfw provides an option for requesting exclusive access for a
> device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is
> not used, the device is meant to be shared across hosts. Once a device
> is requested from a host with this flag set, any request to this
> device from a different host will be nacked by sysfw.
> 
> Current tisci firmware and pm drivers always requests for device with
> exclusive permissions set. But this is not be true for certain devices
> that are expcted to be shared across different host contexts.
> So add support for getting the shared or exclusive permissions from DT
> and request firmware accordingly.
> 

If there are no comments on this series, can this be merged?

Thanks and regards,
Lokesh

> Changes since v2:
> - Added macros for new power-domain cell
> - Rebased on top of v5.1-rc4
> - Updated commit messages.
> 
> Lokesh Vutla (5):
>   firmware: ti_sci: Allow for device shared and exclusive requests
>   dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared
>     access
>   soc: ti: ti_sci_pm_domains: Add support for exclusive and shared
>     access
>   soc: ti: ti_sci_pm_domains: Switch to SPDX Licensing
>   arm64: dts: ti: k3-am654: Update the power domain cells
> 
>  .../bindings/soc/ti/sci-pm-domain.txt         | 11 ++++-
>  MAINTAINERS                                   |  1 +
>  arch/arm64/boot/dts/ti/k3-am65-main.dtsi      | 32 ++++++-------
>  arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi       | 10 ++---
>  arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi    |  6 +--
>  arch/arm64/boot/dts/ti/k3-am65.dtsi           |  1 +
>  drivers/firmware/ti_sci.c                     | 45 ++++++++++++++++++-
>  drivers/soc/ti/ti_sci_pm_domains.c            | 33 +++++++++-----
>  include/dt-bindings/soc/ti,sci_pm_domain.h    |  9 ++++
>  include/linux/soc/ti/ti_sci_protocol.h        |  3 ++
>  10 files changed, 112 insertions(+), 39 deletions(-)
>  create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 3/5] soc: ti: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-04-10  5:37   ` Lokesh Vutla
@ 2019-06-05  5:44     ` Lokesh Vutla
  -1 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-06-05  5:44 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

Santosh,

On 10/04/19 11:07 AM, Lokesh Vutla wrote:
> TISCI protocol supports for enabling the device either with exclusive
> permissions for the requesting host or with sharing across the hosts.
> There are certain devices which are exclusive to Linux context and
> there are certain devices that are shared across different host contexts.
> So add support for getting this information from DT by increasing
> the power-domain cells to 2.
> 
> For keeping the DT backward compatibility intact, defaulting the
> device permissions to set the exclusive flag set. In this case the
> power-domain-cells is 1.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Any chance you can pick this patch? Tero is waiting for you to pick it up so
that dts changes can be pulled. Or can you ack it so that Tero can pick the
entire series?

Thanks and regards,
Lokesh

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 3/5] soc: ti: ti_sci_pm_domains: Add support for exclusive and shared access
@ 2019-06-05  5:44     ` Lokesh Vutla
  0 siblings, 0 replies; 29+ messages in thread
From: Lokesh Vutla @ 2019-06-05  5:44 UTC (permalink / raw)
  To: Nishanth Menon, Tero Kristo, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

Santosh,

On 10/04/19 11:07 AM, Lokesh Vutla wrote:
> TISCI protocol supports for enabling the device either with exclusive
> permissions for the requesting host or with sharing across the hosts.
> There are certain devices which are exclusive to Linux context and
> there are certain devices that are shared across different host contexts.
> So add support for getting this information from DT by increasing
> the power-domain cells to 2.
> 
> For keeping the DT backward compatibility intact, defaulting the
> device permissions to set the exclusive flag set. In this case the
> power-domain-cells is 1.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Any chance you can pick this patch? Tero is waiting for you to pick it up so
that dts changes can be pulled. Or can you ack it so that Tero can pick the
entire series?

Thanks and regards,
Lokesh


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-05-02  9:24     ` Tero Kristo
  (?)
@ 2019-06-11 12:34     ` Tero Kristo
  2019-06-13 22:22         ` Rob Herring
  -1 siblings, 1 reply; 29+ messages in thread
From: Tero Kristo @ 2019-06-11 12:34 UTC (permalink / raw)
  To: Lokesh Vutla, Nishanth Menon, Santosh Shilimkar, Rob Herring
  Cc: Device Tree Mailing List, Sekhar Nori, Linux ARM Mailing List

On 02/05/2019 12:24, Tero Kristo wrote:
> On 10/04/2019 08:37, Lokesh Vutla wrote:
>> TISCI protocol supports for enabling the device either with exclusive
>> permissions for the requesting host or with sharing across the hosts.
>> There are certain devices which are exclusive to Linux context and
>> there are certain devices that are shared across different host contexts.
>> So add support for getting this information from DT by increasing
>> the power-domain cells to 2.
>>
>> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> 
> Based on some offline discussions with Rob, I am withdrawing my concerns 
> on this patch, thus:
> 
> Acked-by: Tero Kristo <t-kristo@ti.com>
> 
> We would still need ack from Rob though.

Rob? Any chance to get ack on this?

-Tero

> 
>> ---
>>   .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>>   MAINTAINERS                                           |  1 +
>>   include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>>   3 files changed, 19 insertions(+), 2 deletions(-)
>>   create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
>>
>> diff --git 
>> a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt 
>> b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> index f7b00a7c0f68..f541d1f776a2 100644
>> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> @@ -19,8 +19,15 @@ child of the pmmc node.
>>   Required Properties:
>>   --------------------
>>   - compatible: should be "ti,sci-pm-domain"
>> -- #power-domain-cells: Must be 1 so that an id can be provided in each
>> -               device node.
>> +- #power-domain-cells: Can be one of the following:
>> +            1: Containing the device id of each node
>> +            2: First entry should be device id
>> +               Second entry should be one of the floowing:
>> +               TI_SCI_PD_EXCLUSIVE: To allow device to be
>> +                        exclusively controlled by
>> +                        the requesting hosts.
>> +               TI_SCI_PD_SHARED: To allow device to be shared
>> +                         by multiple hosts.
>>   Example (K2G):
>>   -------------
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 2359e12e4c41..dc7a19cc1831 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -15345,6 +15345,7 @@ F:    drivers/firmware/ti_sci*
>>   F:    include/linux/soc/ti/ti_sci_protocol.h
>>   F:    Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>   F:    drivers/soc/ti/ti_sci_pm_domains.c
>> +F:    include/dt-bindings/soc/ti,sci_pm_domain.h
>>   F:    Documentation/devicetree/bindings/reset/ti,sci-reset.txt
>>   F:    Documentation/devicetree/bindings/clock/ti,sci-clk.txt
>>   F:    drivers/clk/keystone/sci-clk.c
>> diff --git a/include/dt-bindings/soc/ti,sci_pm_domain.h 
>> b/include/dt-bindings/soc/ti,sci_pm_domain.h
>> new file mode 100644
>> index 000000000000..8f2a7360b65e
>> --- /dev/null
>> +++ b/include/dt-bindings/soc/ti,sci_pm_domain.h
>> @@ -0,0 +1,9 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +
>> +#ifndef __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
>> +#define __DT_BINDINGS_TI_SCI_PM_DOMAIN_H
>> +
>> +#define TI_SCI_PD_EXCLUSIVE    1
>> +#define TI_SCI_PD_SHARED    0
>> +
>> +#endif /* __DT_BINDINGS_TI_SCI_PM_DOMAIN_H */
>>
> 

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
  2019-06-11 12:34     ` Tero Kristo
@ 2019-06-13 22:22         ` Rob Herring
  0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring @ 2019-06-13 22:22 UTC (permalink / raw)
  To: Tero Kristo
  Cc: Nishanth Menon, Device Tree Mailing List, Lokesh Vutla,
	Sekhar Nori, Santosh Shilimkar, Linux ARM Mailing List

On Tue, Jun 11, 2019 at 6:35 AM Tero Kristo <t-kristo@ti.com> wrote:
>
> On 02/05/2019 12:24, Tero Kristo wrote:
> > On 10/04/2019 08:37, Lokesh Vutla wrote:
> >> TISCI protocol supports for enabling the device either with exclusive
> >> permissions for the requesting host or with sharing across the hosts.
> >> There are certain devices which are exclusive to Linux context and
> >> there are certain devices that are shared across different host contexts.
> >> So add support for getting this information from DT by increasing
> >> the power-domain cells to 2.
> >>
> >> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> >
> > Based on some offline discussions with Rob, I am withdrawing my concerns
> > on this patch, thus:
> >
> > Acked-by: Tero Kristo <t-kristo@ti.com>
> >
> > We would still need ack from Rob though.
>
> Rob? Any chance to get ack on this?

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
@ 2019-06-13 22:22         ` Rob Herring
  0 siblings, 0 replies; 29+ messages in thread
From: Rob Herring @ 2019-06-13 22:22 UTC (permalink / raw)
  To: Tero Kristo
  Cc: Nishanth Menon, Device Tree Mailing List, Lokesh Vutla,
	Sekhar Nori, Santosh Shilimkar, Linux ARM Mailing List

On Tue, Jun 11, 2019 at 6:35 AM Tero Kristo <t-kristo@ti.com> wrote:
>
> On 02/05/2019 12:24, Tero Kristo wrote:
> > On 10/04/2019 08:37, Lokesh Vutla wrote:
> >> TISCI protocol supports for enabling the device either with exclusive
> >> permissions for the requesting host or with sharing across the hosts.
> >> There are certain devices which are exclusive to Linux context and
> >> there are certain devices that are shared across different host contexts.
> >> So add support for getting this information from DT by increasing
> >> the power-domain cells to 2.
> >>
> >> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> >
> > Based on some offline discussions with Rob, I am withdrawing my concerns
> > on this patch, thus:
> >
> > Acked-by: Tero Kristo <t-kristo@ti.com>
> >
> > We would still need ack from Rob though.
>
> Rob? Any chance to get ack on this?

Acked-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2019-06-13 22:22 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-10  5:37 [PATCH v3 0/5] soc: ti: k3-am654: Allow for exclusive and shared device requests Lokesh Vutla
2019-04-10  5:37 ` Lokesh Vutla
2019-04-10  5:37 ` [PATCH v3 1/5] firmware: ti_sci: Allow for device shared and exclusive requests Lokesh Vutla
2019-04-10  5:37   ` Lokesh Vutla
2019-04-10  5:37 ` [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access Lokesh Vutla
2019-04-10  5:37   ` Lokesh Vutla
2019-04-10  8:04   ` Tero Kristo
2019-04-10  8:04     ` Tero Kristo
2019-04-10 12:37     ` Lokesh Vutla
2019-04-10 12:49       ` Tero Kristo
2019-04-10 13:15         ` Lokesh Vutla
2019-04-10 15:38           ` Tero Kristo
2019-04-11 14:34             ` Tony Lindgren
2019-04-11 14:34               ` Tony Lindgren
2019-05-02  9:24   ` Tero Kristo
2019-05-02  9:24     ` Tero Kristo
2019-06-11 12:34     ` Tero Kristo
2019-06-13 22:22       ` Rob Herring
2019-06-13 22:22         ` Rob Herring
2019-04-10  5:37 ` [PATCH v3 3/5] soc: ti: " Lokesh Vutla
2019-04-10  5:37   ` Lokesh Vutla
2019-06-05  5:44   ` Lokesh Vutla
2019-06-05  5:44     ` Lokesh Vutla
2019-04-10  5:37 ` [PATCH v3 4/5] soc: ti: ti_sci_pm_domains: Switch to SPDX Licensing Lokesh Vutla
2019-04-10  5:37   ` Lokesh Vutla
2019-04-10  5:37 ` [PATCH v3 5/5] arm64: dts: ti: k3-am654: Update the power domain cells Lokesh Vutla
2019-04-10  5:37   ` Lokesh Vutla
2019-05-29  8:58 ` [PATCH v3 0/5] soc: ti: k3-am654: Allow for exclusive and shared device requests Lokesh Vutla
2019-05-29  8:58   ` Lokesh Vutla

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.