From: Frank Li <Frank.Li@nxp.com> To: miquel.raynal@bootlin.com, conor.culhane@silvaco.com, alexandre.belloni@bootlin.com, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, corbet@lwn.net, joe@perches.com, Frank.Li@nxp.com, linux-i3c@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Cc: gregkh@linuxfoundation.org, imx@lists.linux.dev, jirislaby@kernel.org, linux-serial@vger.kernel.org Subject: [PATCH 0/5] I3C slave mode support Date: Wed, 18 Oct 2023 17:58:04 -0400 [thread overview] Message-ID: <20231018215809.3477437-1-Frank.Li@nxp.com> (raw) This patch introduces support for I3C slave mode, which is referenced with a PCIe Endpoint system. It also establishes a configuration framework (configfs) for the I3C slave controller driver and the I3C slave function driver Typic usage as The user can configure the i3c-slave-tty device using configfs entry. In order to change the vendorid, the following commands can be used # echo 0x011b > functions/tty/func1/vendor_id # echo 0x1000 > functions/tty/func1/part_id # echo 0x6 > functions/tty/t/bcr Binding i3c-slave-tty Device to slave Controller ------------------------------------------------ In order for the slave function device to be useful, it has to be bound to a I3C slave controller driver. Use the configfs to bind the function device to one of the controller driver present in the system:: # ln -s functions/pci_epf_test/func1 controllers/44330000.i3c-slave/ Host side: cat /dev/ttyI3C0 Slave side: echo abc >/dev/ttyI3C0 Master side patch: https://lore.kernel.org/imx/20231018211111.3437929-1-Frank.Li@nxp.com/T/#u Frank Li (5): i3c: add slave mode support dt-bindings: i3c: svc: add compatible string i3c: silvaco,i3c-slave i3c: slave: add svc slave controller support i3c: slave: func: add tty driver Documentation: i3c: Add I3C slave mode controller and function .../bindings/i3c/silvaco,i3c-master.yaml | 8 +- Documentation/driver-api/i3c/index.rst | 1 + .../driver-api/i3c/slave/i3c-slave-cfs.rst | 109 +++ .../driver-api/i3c/slave/i3c-slave.rst | 189 +++++ .../driver-api/i3c/slave/i3c-tty-function.rst | 103 +++ .../driver-api/i3c/slave/i3c-tty-howto.rst | 109 +++ Documentation/driver-api/i3c/slave/index.rst | 13 + drivers/i3c/Kconfig | 30 + drivers/i3c/Makefile | 4 + drivers/i3c/func/Kconfig | 9 + drivers/i3c/func/Makefile | 3 + drivers/i3c/func/tty.c | 548 ++++++++++++ drivers/i3c/i3c-cfs.c | 389 +++++++++ drivers/i3c/slave.c | 453 ++++++++++ drivers/i3c/slave/Kconfig | 9 + drivers/i3c/slave/Makefile | 4 + drivers/i3c/slave/svc-i3c-slave.c | 795 ++++++++++++++++++ include/linux/i3c/slave.h | 503 +++++++++++ 18 files changed, 3276 insertions(+), 3 deletions(-) create mode 100644 Documentation/driver-api/i3c/slave/i3c-slave-cfs.rst create mode 100644 Documentation/driver-api/i3c/slave/i3c-slave.rst create mode 100644 Documentation/driver-api/i3c/slave/i3c-tty-function.rst create mode 100644 Documentation/driver-api/i3c/slave/i3c-tty-howto.rst create mode 100644 Documentation/driver-api/i3c/slave/index.rst create mode 100644 drivers/i3c/func/Kconfig create mode 100644 drivers/i3c/func/Makefile create mode 100644 drivers/i3c/func/tty.c create mode 100644 drivers/i3c/i3c-cfs.c create mode 100644 drivers/i3c/slave.c create mode 100644 drivers/i3c/slave/Kconfig create mode 100644 drivers/i3c/slave/Makefile create mode 100644 drivers/i3c/slave/svc-i3c-slave.c create mode 100644 include/linux/i3c/slave.h -- 2.34.1
WARNING: multiple messages have this Message-ID (diff)
From: Frank Li <Frank.Li@nxp.com> To: miquel.raynal@bootlin.com, conor.culhane@silvaco.com, alexandre.belloni@bootlin.com, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, corbet@lwn.net, joe@perches.com, Frank.Li@nxp.com, linux-i3c@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Cc: gregkh@linuxfoundation.org, imx@lists.linux.dev, jirislaby@kernel.org, linux-serial@vger.kernel.org Subject: [PATCH 0/5] I3C slave mode support Date: Wed, 18 Oct 2023 17:58:04 -0400 [thread overview] Message-ID: <20231018215809.3477437-1-Frank.Li@nxp.com> (raw) This patch introduces support for I3C slave mode, which is referenced with a PCIe Endpoint system. It also establishes a configuration framework (configfs) for the I3C slave controller driver and the I3C slave function driver Typic usage as The user can configure the i3c-slave-tty device using configfs entry. In order to change the vendorid, the following commands can be used # echo 0x011b > functions/tty/func1/vendor_id # echo 0x1000 > functions/tty/func1/part_id # echo 0x6 > functions/tty/t/bcr Binding i3c-slave-tty Device to slave Controller ------------------------------------------------ In order for the slave function device to be useful, it has to be bound to a I3C slave controller driver. Use the configfs to bind the function device to one of the controller driver present in the system:: # ln -s functions/pci_epf_test/func1 controllers/44330000.i3c-slave/ Host side: cat /dev/ttyI3C0 Slave side: echo abc >/dev/ttyI3C0 Master side patch: https://lore.kernel.org/imx/20231018211111.3437929-1-Frank.Li@nxp.com/T/#u Frank Li (5): i3c: add slave mode support dt-bindings: i3c: svc: add compatible string i3c: silvaco,i3c-slave i3c: slave: add svc slave controller support i3c: slave: func: add tty driver Documentation: i3c: Add I3C slave mode controller and function .../bindings/i3c/silvaco,i3c-master.yaml | 8 +- Documentation/driver-api/i3c/index.rst | 1 + .../driver-api/i3c/slave/i3c-slave-cfs.rst | 109 +++ .../driver-api/i3c/slave/i3c-slave.rst | 189 +++++ .../driver-api/i3c/slave/i3c-tty-function.rst | 103 +++ .../driver-api/i3c/slave/i3c-tty-howto.rst | 109 +++ Documentation/driver-api/i3c/slave/index.rst | 13 + drivers/i3c/Kconfig | 30 + drivers/i3c/Makefile | 4 + drivers/i3c/func/Kconfig | 9 + drivers/i3c/func/Makefile | 3 + drivers/i3c/func/tty.c | 548 ++++++++++++ drivers/i3c/i3c-cfs.c | 389 +++++++++ drivers/i3c/slave.c | 453 ++++++++++ drivers/i3c/slave/Kconfig | 9 + drivers/i3c/slave/Makefile | 4 + drivers/i3c/slave/svc-i3c-slave.c | 795 ++++++++++++++++++ include/linux/i3c/slave.h | 503 +++++++++++ 18 files changed, 3276 insertions(+), 3 deletions(-) create mode 100644 Documentation/driver-api/i3c/slave/i3c-slave-cfs.rst create mode 100644 Documentation/driver-api/i3c/slave/i3c-slave.rst create mode 100644 Documentation/driver-api/i3c/slave/i3c-tty-function.rst create mode 100644 Documentation/driver-api/i3c/slave/i3c-tty-howto.rst create mode 100644 Documentation/driver-api/i3c/slave/index.rst create mode 100644 drivers/i3c/func/Kconfig create mode 100644 drivers/i3c/func/Makefile create mode 100644 drivers/i3c/func/tty.c create mode 100644 drivers/i3c/i3c-cfs.c create mode 100644 drivers/i3c/slave.c create mode 100644 drivers/i3c/slave/Kconfig create mode 100644 drivers/i3c/slave/Makefile create mode 100644 drivers/i3c/slave/svc-i3c-slave.c create mode 100644 include/linux/i3c/slave.h -- 2.34.1 -- linux-i3c mailing list linux-i3c@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-i3c
next reply other threads:[~2023-10-18 21:58 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-18 21:58 Frank Li [this message] 2023-10-18 21:58 ` [PATCH 0/5] I3C slave mode support Frank Li 2023-10-18 21:58 ` [PATCH 1/5] i3c: add " Frank Li 2023-10-18 21:58 ` Frank Li 2023-10-19 7:00 ` Krzysztof Kozlowski 2023-10-19 7:00 ` Krzysztof Kozlowski 2023-10-19 15:02 ` Frank Li 2023-10-19 15:02 ` Frank Li 2023-10-19 15:46 ` Greg KH 2023-10-19 15:46 ` Greg KH 2023-10-19 17:06 ` Greg KH 2023-10-19 17:06 ` Greg KH 2023-10-18 21:58 ` [PATCH 2/5] dt-bindings: i3c: svc: add compatible string i3c: silvaco,i3c-slave Frank Li 2023-10-18 21:58 ` Frank Li 2023-10-19 7:00 ` Krzysztof Kozlowski 2023-10-19 7:00 ` Krzysztof Kozlowski 2023-10-19 12:07 ` Rob Herring 2023-10-19 12:07 ` Rob Herring 2023-10-18 21:58 ` [PATCH 3/5] i3c: slave: add svc slave controller support Frank Li 2023-10-18 21:58 ` Frank Li 2023-10-18 21:58 ` [PATCH 4/5] i3c: slave: func: add tty driver Frank Li 2023-10-18 21:58 ` Frank Li 2023-10-19 7:21 ` Jiri Slaby 2023-10-19 7:21 ` Jiri Slaby 2023-10-18 21:58 ` [PATCH 5/5] Documentation: i3c: Add I3C slave mode controller and function Frank Li 2023-10-18 21:58 ` Frank Li 2023-10-18 22:07 ` Frank Li 2023-10-18 22:07 ` Frank Li 2023-10-20 10:36 [PATCH 1/5] i3c: add slave mode support kernel test robot 2023-10-23 1:11 ` kernel test robot 2023-10-23 1:11 ` kernel test robot 2023-10-20 11:51 [PATCH 3/5] i3c: slave: add svc slave controller support kernel test robot 2023-10-23 1:29 ` kernel test robot 2023-10-23 1:29 ` kernel test robot 2023-10-21 7:50 [PATCH 1/5] i3c: add slave mode support kernel test robot 2023-10-23 1:20 ` kernel test robot 2023-10-23 1:20 ` kernel test robot
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=20231018215809.3477437-1-Frank.Li@nxp.com \ --to=frank.li@nxp.com \ --cc=alexandre.belloni@bootlin.com \ --cc=conor+dt@kernel.org \ --cc=conor.culhane@silvaco.com \ --cc=corbet@lwn.net \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=imx@lists.linux.dev \ --cc=jirislaby@kernel.org \ --cc=joe@perches.com \ --cc=krzysztof.kozlowski+dt@linaro.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-i3c@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-serial@vger.kernel.org \ --cc=miquel.raynal@bootlin.com \ --cc=robh+dt@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: 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.