From: Pi-Hsun Shih <pihsun@chromium.org> Cc: Matthias Brugger <matthias.bgg@gmail.com>, "moderated list:ARM/Mediatek SoC support" <linux-mediatek@lists.infradead.org>, "moderated list:ARM/Mediatek SoC support" <linux-arm-kernel@lists.infradead.org>, Pi-Hsun Shih <pihsun@chromium.org> Subject: [PATCH v5 0/6] Add support for mt8183 SCP. Date: Thu, 21 Feb 2019 16:47:23 +0800 [thread overview] Message-ID: <20190221084729.101784-1-pihsun@chromium.org> (raw) Add support for controlling and communicating with mt8183's system control processor (SCP), using the remoteproc & rpmsg framework. And also add a cros_ec driver for CrOS EC host command over rpmsg. The overall structure of the series is: * remoteproc/mtk_scp.c: Control the start / stop of SCP (Patch 2, 3). * remoteproc/mtk_scp_ipi.c: Communicates to SCP using inter-processor interrupt (IPI) and shared memory (Patch 2, 3). * rpmsg/mtk_rpmsg.c: Wrapper to wrap the IPI communication into a rpmsg device. Supports name service for SCP firmware to announce channels (Patch 4). * platform/chrome/cros_ec_rpmsg.c: Communicates with the SCP over the rpmsg framework (like what platform/chrome/cros_ec_{i2c,spi}.c does) (Patch 5, 6). Since I'm not familiar with the remoteproc / rpmsg framework, and there are not much other custom rpmsg driver for reference, would like some review / comments on the overall structure of the driver. Changes from v4: - Merge patch 6 (Load ELF firmware) into patch 2, so the driver loads ELF firmware by default, and no longer accept plain binary. - rpmsg_device listed in device tree (as a child of the SCP node) would have it's device tree node mapped to the rpmsg_device, so the rpmsg driver can use the properties on device tree. Changes from v3: - Make writing to SCP SRAM aligned. - Add a new patch (Patch 6) to load ELF instead of bin firmware. - Add host event support for EC driver. - Fix some bugs found in testing (missing spin_lock_init, rproc_subdev_unprepare to rproc_subdev_stop). - Fix some coding style issue found by checkpatch.pl. Changes from v2: - Fold patch 3 into patch 2 in v2. - Move IPI id around to support cross-testing for old and new firmware. - Finish more TODO items. Changes from v1: - Extract functions and rename variables in mtk_scp.c. - Do cleanup properly in mtk_rpmsg.c, which also removes the problem of short-lived work items. - Code format fix based on feedback for cros_ec_rpmsg.c. - Extract feature detection for SCP into separate patch (Patch 6). Erin Lo (3): dt-bindings: Add a binding for Mediatek SCP remoteproc/mediatek: add SCP support for mt8183 remoteproc: mt8183: add reserved memory manager API Pi-Hsun Shih (3): rpmsg: add rpmsg support for mt8183 SCP. mfd: add EC host command support using rpmsg. cros_ec: differentiate SCP from EC by feature bit. .../bindings/remoteproc/mtk,scp.txt | 37 ++ drivers/mfd/cros_ec_dev.c | 9 + drivers/platform/chrome/Kconfig | 9 + drivers/platform/chrome/Makefile | 1 + drivers/platform/chrome/cros_ec_rpmsg.c | 248 +++++++ drivers/remoteproc/Kconfig | 9 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/mtk_common.h | 77 +++ drivers/remoteproc/mtk_scp.c | 628 ++++++++++++++++++ drivers/remoteproc/mtk_scp_ipi.c | 163 +++++ drivers/rpmsg/Kconfig | 9 + drivers/rpmsg/Makefile | 1 + drivers/rpmsg/mtk_rpmsg.c | 385 +++++++++++ include/linux/mfd/cros_ec.h | 1 + include/linux/mfd/cros_ec_commands.h | 2 + include/linux/platform_data/mtk_scp.h | 157 +++++ include/linux/rpmsg/mtk_rpmsg.h | 35 + 17 files changed, 1772 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/mtk,scp.txt create mode 100644 drivers/platform/chrome/cros_ec_rpmsg.c create mode 100644 drivers/remoteproc/mtk_common.h create mode 100644 drivers/remoteproc/mtk_scp.c create mode 100644 drivers/remoteproc/mtk_scp_ipi.c create mode 100644 drivers/rpmsg/mtk_rpmsg.c create mode 100644 include/linux/platform_data/mtk_scp.h create mode 100644 include/linux/rpmsg/mtk_rpmsg.h -- 2.21.0.rc0.258.g878e2cd30e-goog
WARNING: multiple messages have this Message-ID (diff)
From: Pi-Hsun Shih <pihsun@chromium.org> Cc: Matthias Brugger <matthias.bgg@gmail.com>, "moderated list:ARM/Mediatek SoC support" <linux-mediatek@lists.infradead.org>, "moderated list:ARM/Mediatek SoC support" <linux-arm-kernel@lists.infradead.org>, Pi-Hsun Shih <pihsun@chromium.org> Subject: [PATCH v5 0/6] Add support for mt8183 SCP. Date: Thu, 21 Feb 2019 16:47:23 +0800 [thread overview] Message-ID: <20190221084729.101784-1-pihsun@chromium.org> (raw) Add support for controlling and communicating with mt8183's system control processor (SCP), using the remoteproc & rpmsg framework. And also add a cros_ec driver for CrOS EC host command over rpmsg. The overall structure of the series is: * remoteproc/mtk_scp.c: Control the start / stop of SCP (Patch 2, 3). * remoteproc/mtk_scp_ipi.c: Communicates to SCP using inter-processor interrupt (IPI) and shared memory (Patch 2, 3). * rpmsg/mtk_rpmsg.c: Wrapper to wrap the IPI communication into a rpmsg device. Supports name service for SCP firmware to announce channels (Patch 4). * platform/chrome/cros_ec_rpmsg.c: Communicates with the SCP over the rpmsg framework (like what platform/chrome/cros_ec_{i2c,spi}.c does) (Patch 5, 6). Since I'm not familiar with the remoteproc / rpmsg framework, and there are not much other custom rpmsg driver for reference, would like some review / comments on the overall structure of the driver. Changes from v4: - Merge patch 6 (Load ELF firmware) into patch 2, so the driver loads ELF firmware by default, and no longer accept plain binary. - rpmsg_device listed in device tree (as a child of the SCP node) would have it's device tree node mapped to the rpmsg_device, so the rpmsg driver can use the properties on device tree. Changes from v3: - Make writing to SCP SRAM aligned. - Add a new patch (Patch 6) to load ELF instead of bin firmware. - Add host event support for EC driver. - Fix some bugs found in testing (missing spin_lock_init, rproc_subdev_unprepare to rproc_subdev_stop). - Fix some coding style issue found by checkpatch.pl. Changes from v2: - Fold patch 3 into patch 2 in v2. - Move IPI id around to support cross-testing for old and new firmware. - Finish more TODO items. Changes from v1: - Extract functions and rename variables in mtk_scp.c. - Do cleanup properly in mtk_rpmsg.c, which also removes the problem of short-lived work items. - Code format fix based on feedback for cros_ec_rpmsg.c. - Extract feature detection for SCP into separate patch (Patch 6). Erin Lo (3): dt-bindings: Add a binding for Mediatek SCP remoteproc/mediatek: add SCP support for mt8183 remoteproc: mt8183: add reserved memory manager API Pi-Hsun Shih (3): rpmsg: add rpmsg support for mt8183 SCP. mfd: add EC host command support using rpmsg. cros_ec: differentiate SCP from EC by feature bit. .../bindings/remoteproc/mtk,scp.txt | 37 ++ drivers/mfd/cros_ec_dev.c | 9 + drivers/platform/chrome/Kconfig | 9 + drivers/platform/chrome/Makefile | 1 + drivers/platform/chrome/cros_ec_rpmsg.c | 248 +++++++ drivers/remoteproc/Kconfig | 9 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/mtk_common.h | 77 +++ drivers/remoteproc/mtk_scp.c | 628 ++++++++++++++++++ drivers/remoteproc/mtk_scp_ipi.c | 163 +++++ drivers/rpmsg/Kconfig | 9 + drivers/rpmsg/Makefile | 1 + drivers/rpmsg/mtk_rpmsg.c | 385 +++++++++++ include/linux/mfd/cros_ec.h | 1 + include/linux/mfd/cros_ec_commands.h | 2 + include/linux/platform_data/mtk_scp.h | 157 +++++ include/linux/rpmsg/mtk_rpmsg.h | 35 + 17 files changed, 1772 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/mtk,scp.txt create mode 100644 drivers/platform/chrome/cros_ec_rpmsg.c create mode 100644 drivers/remoteproc/mtk_common.h create mode 100644 drivers/remoteproc/mtk_scp.c create mode 100644 drivers/remoteproc/mtk_scp_ipi.c create mode 100644 drivers/rpmsg/mtk_rpmsg.c create mode 100644 include/linux/platform_data/mtk_scp.h create mode 100644 include/linux/rpmsg/mtk_rpmsg.h -- 2.21.0.rc0.258.g878e2cd30e-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2019-02-21 8:47 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-02-21 8:47 Pi-Hsun Shih [this message] 2019-02-21 8:47 ` [PATCH v5 0/6] Add support for mt8183 SCP Pi-Hsun Shih 2019-02-21 8:47 ` [PATCH v5 1/6] dt-bindings: Add a binding for Mediatek SCP Pi-Hsun Shih 2019-02-21 8:47 ` Pi-Hsun Shih 2019-02-21 8:47 ` Pi-Hsun Shih 2019-02-22 14:43 ` Rob Herring 2019-02-22 14:43 ` Rob Herring 2019-02-22 14:43 ` Rob Herring 2019-02-25 6:15 ` Pi-Hsun Shih 2019-02-25 6:15 ` Pi-Hsun Shih 2019-02-25 6:15 ` Pi-Hsun Shih 2019-03-04 17:51 ` Rob Herring 2019-03-04 17:51 ` Rob Herring 2019-03-04 17:51 ` Rob Herring 2019-03-05 3:53 ` Pi-Hsun Shih 2019-03-05 3:53 ` Pi-Hsun Shih 2019-03-05 3:53 ` Pi-Hsun Shih 2019-02-21 8:47 ` [PATCH v5 2/6] remoteproc/mediatek: add SCP support for mt8183 Pi-Hsun Shih 2019-02-21 8:47 ` Pi-Hsun Shih 2019-02-21 8:47 ` Pi-Hsun Shih 2019-02-21 8:47 ` [PATCH v5 3/6] remoteproc: mt8183: add reserved memory manager API Pi-Hsun Shih 2019-02-21 8:47 ` Pi-Hsun Shih 2019-02-21 8:47 ` Pi-Hsun Shih 2019-02-21 8:47 ` [PATCH v5 4/6] rpmsg: add rpmsg support for mt8183 SCP Pi-Hsun Shih 2019-02-21 8:47 ` Pi-Hsun Shih 2019-02-21 8:47 ` Pi-Hsun Shih 2019-02-21 8:47 ` [PATCH v5 5/6] mfd: add EC host command support using rpmsg Pi-Hsun Shih 2019-02-22 12:05 ` Enric Balletbo i Serra 2019-02-21 8:47 ` [PATCH v5 6/6] cros_ec: differentiate SCP from EC by feature bit Pi-Hsun Shih
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190221084729.101784-1-pihsun@chromium.org \ --to=pihsun@chromium.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=matthias.bgg@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.