Change since v6:
- no change (rebased to 5.15-rc1)
Change since v5:
- Drop adding new vendor-prefix
- Rename rpmsg property from "mtk," to "mediatek," to use the name
defined in
vendor-prefix.yaml for Mediatek Co.
Changes since v4:
- Move clock acquirement to mtk_scp_of_data
- Add new vendor-prefix for Mediatek SCP
- Refine mtk,scp.yaml
- Remove '|' in 'description'
- Add 'items' to replace 'description' in reg-names property
- Add 'const' to replace 'description' in clock-names property
- Add required property for mt8183 and mt8192
- Rewrite 'patternProperties' by 'additionalProperties'
- Rewrite example with 1 address and size-cell.
- Drop dts label from example
Changes since v3:
- Add missing patch version in mail subject
- No change to patches.
Changes since v2:
- Add compatible for mt8192
- Convert mtk,scp.txt to mtk,scp.yaml
- Refine clock checking method
Changes since v1:
- Fix missing 'compatible' line in binding document
Tinghan Shen (6):
dt-bindings: remoteproc: mediatek: Add binding for mt8195 scp
dt-bindings: remoteproc: mediatek: Add binding for mt8192 scp
dt-bindings: remoteproc: mediatek: Convert mtk,scp to json-schema
remoteproc: mediatek: Support mt8195 scp
rpmsg: change naming of mediatek rpmsg property
arm64: dts: mt8183: change rpmsg property name
.../bindings/remoteproc/mtk,scp.txt | 36 --------
.../bindings/remoteproc/mtk,scp.yaml | 92 +++++++++++++++++++
.../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 2 +-
drivers/remoteproc/mtk_common.h | 1 +
drivers/remoteproc/mtk_scp.c | 48 +++++++++-
drivers/rpmsg/mtk_rpmsg.c | 2 +-
6 files changed, 138 insertions(+), 43 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/remoteproc/mtk,scp.txt
create mode 100644 Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Change from "mtk,rpmsg-name" to "mediatek,rpmsg-name" to sync with the
vendor name defined in vendor-prefixes.yaml.
Signed-off-by: Tinghan Shen <redacted>
---
drivers/rpmsg/mtk_rpmsg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Add mt8195 compatible to binding document. The description of required
properties are also modified to reflect the hardware change between
mt8183 and mt8195. The mt8195 doesn't have to control the scp clock on
kernel side.
Signed-off-by: Tinghan Shen <redacted>
Acked-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/remoteproc/mtk,scp.txt | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
@@ -5,13 +5,15 @@ This binding provides support for ARM Cortex M4 Co-processor found on some Mediatek SoCs. Required properties:-- compatible Should be "mediatek,mt8183-scp"+- compatible Should be one of:+ "mediatek,mt8183-scp"+ "mediatek,mt8195-scp" - reg Should contain the address ranges for memory regions: SRAM, CFG, and L1TCM. - reg-names Contains the corresponding names for the memory regions: "sram", "cfg", and "l1tcm".-- clocks Clock for co-processor (See: ../clock/clock-bindings.txt)-- clock-names Contains the corresponding name for the clock. This+- clocks Required by mt8183. Clock for co-processor (See: ../clock/clock-bindings.txt)+- clock-names Required by mt8183. Contains the corresponding name for the clock. This should be named "main". Subnodes
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
The the rpmsg property name is changed to "mediatek," to sync with the
vendor name defined in vendor-prefixes.yaml.
Signed-off-by: Tinghan Shen <redacted>
---
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -7,14 +7,17 @@ Mediatek SoCs. Required properties: - compatible Should be one of: "mediatek,mt8183-scp"+ "mediatek,mt8192-scp" "mediatek,mt8195-scp" - reg Should contain the address ranges for memory regions: SRAM, CFG, and L1TCM. - reg-names Contains the corresponding names for the memory regions: "sram", "cfg", and "l1tcm".-- clocks Required by mt8183. Clock for co-processor (See: ../clock/clock-bindings.txt)-- clock-names Required by mt8183. Contains the corresponding name for the clock. This- should be named "main".+- clocks Required by mt8183 and mt8192. Clock for co-processor+ (See: ../clock/clock-bindings.txt)+- clock-names Required by mt8183 and mt8192. Contains the+ corresponding name for the clock. This should be+ named "main". Subnodes --------
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
@@ -312,6 +312,32 @@ static int scp_elf_read_ipi_buf_addr(struct mtk_scp *scp,return-ENOENT;}+staticintmt8183_scp_clk_get(structmtk_scp*scp)+{+structdevice*dev=scp->dev;+intret=0;++scp->clk=devm_clk_get(dev,"main");+if(IS_ERR(scp->clk)){+dev_err(dev,"Failed to get clock\n");+ret=PTR_ERR(scp->clk);+}++returnret;+}++staticintmt8192_scp_clk_get(structmtk_scp*scp)+{+returnmt8183_scp_clk_get(scp);+}++staticintmt8195_scp_clk_get(structmtk_scp*scp)+{+scp->clk=NULL;++return0;+}+staticintmt8183_scp_before_load(structmtk_scp*scp){/* Clear SCP to host interrupt */
@@ -785,12 +811,9 @@ static int scp_probe(struct platform_device *pdev)if(ret)gotodestroy_mutex;-scp->clk=devm_clk_get(dev,"main");-if(IS_ERR(scp->clk)){-dev_err(dev,"Failed to get clock\n");-ret=PTR_ERR(scp->clk);+ret=scp->data->scp_clk_get(scp);+if(ret)gotorelease_dev_mem;-}/* register SCP initialization IPI */ret=scp_ipi_register(scp,SCP_IPI_INIT,scp_init_ipi_handler,scp);
@@ -852,6 +875,7 @@ static int scp_remove(struct platform_device *pdev)}staticconststructmtk_scp_of_datamt8183_of_data={+.scp_clk_get=mt8183_scp_clk_get,.scp_before_load=mt8183_scp_before_load,.scp_irq_handler=mt8183_scp_irq_handler,.scp_reset_assert=mt8183_scp_reset_assert,
@@ -1,41 +0,0 @@-Mediatek SCP Bindings-------------------------------------------This binding provides support for ARM Cortex M4 Co-processor found on some-Mediatek SoCs.--Required properties:-- compatible Should be one of:- "mediatek,mt8183-scp"- "mediatek,mt8192-scp"- "mediatek,mt8195-scp"-- reg Should contain the address ranges for memory regions:- SRAM, CFG, and L1TCM.-- reg-names Contains the corresponding names for the memory regions:- "sram", "cfg", and "l1tcm".-- clocks Required by mt8183 and mt8192. Clock for co-processor- (See: ../clock/clock-bindings.txt)-- clock-names Required by mt8183 and mt8192. Contains the- corresponding name for the clock. This should be- named "main".--Subnodes-----------Subnodes of the SCP represent rpmsg devices. The names of the devices are not-important. The properties of these nodes are defined by the individual bindings-for the rpmsg devices - but must contain the following property:--- mtk,rpmsg-name Contains the name for the rpmsg device. Used to match- the subnode to rpmsg device announced by SCP.--Example:-- scp: scp@10500000 {- compatible = "mediatek,mt8183-scp";- reg = <0 0x10500000 0 0x80000>,- <0 0x105c0000 0 0x5000>;- reg-names = "sram", "cfg";- clocks = <&infracfg CLK_INFRA_SCPSYS>;- clock-names = "main";- };
@@ -0,0 +1,92 @@+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)+%YAML1.2+---+$id:http://devicetree.org/schemas/remoteproc/mtk,scp.yaml#+$schema:http://devicetree.org/meta-schemas/core.yaml#++title:Mediatek SCP Bindings++maintainers:+-Tinghan Shen <tinghan.shen@mediatek.com>++description:+This binding provides support for ARM Cortex M4 Co-processor found on some+Mediatek SoCs.++properties:+compatible:+enum:+-mediatek,mt8183-scp+-mediatek,mt8192-scp+-mediatek,mt8195-scp++reg:+description:+Should contain the address ranges for memory regions SRAM, CFG, and+L1TCM.+maxItems:3++reg-names:+items:+-const:sram+-const:cfg+-const:l1tcm++clocks:+description:+Clock for co-processor (see ../clock/clock-bindings.txt).+Required by mt8183 and mt8192.+maxItems:1++clock-names:+const:main++required:+-compatible+-reg+-reg-names++if:+properties:+compatible:+enum:+-mediatek,mt8183-scp+-mediatek,mt8192-scp+then:+required:+-clocks+-clock-names++additionalProperties:+type:object+description:+Subnodes of the SCP represent rpmsg devices. The names of the devices+are not important. The properties of these nodes are defined by the+individual bindings for the rpmsg devices.+properties:+mediatek,rpmsg-name:+$ref:/schemas/types.yaml#/definitions/string-array+description:+Contains the name for the rpmsg device. Used to match+the subnode to rpmsg device announced by SCP.++required:+-mediatek,rpmsg-name++examples:+-|+#include <dt-bindings/clock/mt8183-clk.h>++scp@10500000 {+compatible = "mediatek,mt8183-scp";+reg = <0x10500000 0x80000>,+<0x10700000 0x8000>,+<0x10720000 0xe0000>;+reg-names = "sram", "cfg", "l1tcm";+clocks = <&infracfg CLK_INFRA_SCPSYS>;+clock-names = "main";++cros_ec {+mediatek,rpmsg-name = "cros-ec-rpmsg";+};+};
--
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Hi Tinghan,
On Fri, Sep 24, 2021 at 11:39:34AM +0800, Tinghan Shen wrote:
quoted hunk
Change from "mtk,rpmsg-name" to "mediatek,rpmsg-name" to sync with the
vendor name defined in vendor-prefixes.yaml.
Signed-off-by: Tinghan Shen <redacted>
---
drivers/rpmsg/mtk_rpmsg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com> Date: 2021-10-14 13:32:03
Il 24/09/21 05:39, Tinghan Shen ha scritto:
Change from "mtk,rpmsg-name" to "mediatek,rpmsg-name" to sync with the
vendor name defined in vendor-prefixes.yaml.
Signed-off-by: Tinghan Shen <redacted>
---
I agree with this change, though, you forgot to change the same in
Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
Reviewed-By: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com> Date: 2021-10-14 13:32:59
Il 24/09/21 05:39, Tinghan Shen ha scritto:
quoted hunk
The the rpmsg property name is changed to "mediatek," to sync with the
vendor name defined in vendor-prefixes.yaml.
Signed-off-by: Tinghan Shen <redacted>
---
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Please reflect this change in
Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
Apart from that,
Reviewed-By: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
The the rpmsg property name is changed to "mediatek," to sync with the
vendor name defined in vendor-prefixes.yaml.
Signed-off-by: Tinghan Shen <redacted>
---
applied to v5.16-tmp/dts64 which will become v5.16-next/dts64 as soon as
v5.16-rc1 is published.
Regards,
Matthias