From: Peng Fan <peng.fan@nxp.com>
To: Marc Kleine-Budde <mkl@pengutronix.de>,
Vincent Mailhol <mailhol@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Aswath Govindraju <a-govindraju@ti.com>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>, Frank Li <frank.li@nxp.com>,
Haibo Chen <haibo.chen@nxp.com>
Cc: linux-can@vger.kernel.org, linux-phy@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
Peng Fan <peng.fan@nxp.com>, Frank Li <Frank.Li@nxp.com>
Subject: [PATCH v7 0/8] phy: phy-can-transceiver: Support TJA1048/TJA1051
Date: Wed, 01 Oct 2025 21:22:31 +0800 [thread overview]
Message-ID: <20251001-can-v7-0-fad29efc3884@nxp.com> (raw)
TJA1048 is a Dual channel can transceiver with Sleep mode supported.
TJA105{1,7} is a Single Channel can transceiver with Sleep mode supported.
To support them:
patch 1: add binding doc
patch 2/3: To support dual channel,
- Introduce new flag CAN_TRANSCEIVER_DUAL_CH to indicate the phy
has two channels.
- Introduce can_transceiver_priv as a higher level encapsulation for
phy, mux_state, num_ch.
- Alloc a phy for each channel
patch 4: Simplify code
patch 5: Add TJA1051,7 support
Others: Update dts to use phys.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Changes in v7:
Since got v6 comments from Marc and Vincent, I was busy on other
stuff, so delay about one week to move to v7.
- Patch 1: Add R-b from Rob for dt-bindings
- For Patch 2,3: Switch to use flexible array for "struct can_transceiver_phy"
per Marc. Use a local variable to avoid multiple pointer based access per
Vincent. For mux_state I still keep it as phy chip level, so it is still
in "struct can_transceiver_priv" as previous patch, so no array needed.
- Drop patch 5 which was to check gpio API return value. Since no issue
reported, and error return value check here will make code looks ugly,
I not find an elegant way to do this, so drop the patch for now.
We may add it back in future
- Link to v6: https://lore.kernel.org/r/20250909-can-v6-0-1cc30715224c@nxp.com
Changes in v6:
- Update dt-bindings per Krzysztof's comments
"define if:then:, without any else:, for each variant"
- Add R-b from Frank
- Link to v5: https://lore.kernel.org/r/20250904-can-v5-0-23d8129b5e5d@nxp.com
Changes in v5:
- Update patch 1 dt-bindings for TJA1051 and TJA1057 and allOf entries
for them, per Conor's comments. Thanks Conor for detailed review on
the dt-binding patch.
- Add two new patches patch {3,4} to simplify code and check return value of
gpiod API.
- Add patch 6 because TJA1051 and TJA1057 use their own compatible strings
- Link to v4: https://lore.kernel.org/r/20250901-can-v4-0-e42b5fe2cf9e@nxp.com
Changes in v4:
- Add R-b from Frank for patch 1, 2, 3, 6
- Address the minor comments from Frank regarding min/maxItems, commit
log
- Link to v3: https://lore.kernel.org/r/20250829-can-v3-0-3b2f34094f59@nxp.com
Changes in v3:
- Patch 1: Add TJA1057, update #phy-cells
- Patch 2,3: Separate patch 2 into two patches per Frank, 1st introduce
can_transceiver_priv, 2nd support dual chan by adding num_ch
- Patch 6: Change to 5Mbps rate
- Patch 4,5: Add R-b from Frank
- Link to v2: https://lore.kernel.org/r/20250825-can-v2-0-c461e9fcbc14@nxp.com
Changes in v2:
- Update standby-gpios constraints per Conor's comments
- Drop patch 2 which is not needed.
- Link to v1: https://lore.kernel.org/r/20250822-can-v1-0-c075f702adea@nxp.com
---
Peng Fan (8):
dt-bindings: phy: ti,tcan104x-can: Document NXP TJA105X/1048
phy: phy-can-transceiver: Introduce can_transceiver_priv
phy: phy-can-transceiver: Add dual channel support for TJA1048
phy: phy-can-transceiver: Drop the gpio desc check
phy: phy-can-transceiver: Add support for TJA105{1,7}
arm64: dts: imx95-15x15-evk: Use phys to replace xceiver-supply
arm64: dts: imx8mp-evk: Use phys to replace xceiver-supply
arm64: dts: imx93-11x11-evk: Use phys to replace xceiver-supply
.../devicetree/bindings/phy/ti,tcan104x-can.yaml | 69 ++++++++-
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 43 ++----
arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts | 17 ++-
arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts | 13 +-
drivers/phy/phy-can-transceiver.c | 158 +++++++++++++++------
5 files changed, 210 insertions(+), 90 deletions(-)
---
base-commit: 92d0924341d014dd4cc07720916ba4ee317aabb1
change-id: 20250821-can-c832cb4f0323
Best regards,
--
Peng Fan <peng.fan@nxp.com>
next reply other threads:[~2025-10-01 13:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-01 13:22 Peng Fan [this message]
2025-10-01 13:22 ` [PATCH v7 1/8] dt-bindings: phy: ti,tcan104x-can: Document NXP TJA105X/1048 Peng Fan
2025-10-01 13:22 ` [PATCH v7 2/8] phy: phy-can-transceiver: Introduce can_transceiver_priv Peng Fan
2025-10-01 13:22 ` [PATCH v7 3/8] phy: phy-can-transceiver: Add dual channel support for TJA1048 Peng Fan
2025-10-01 13:22 ` [PATCH v7 4/8] phy: phy-can-transceiver: Drop the gpio desc check Peng Fan
2025-10-01 13:22 ` [PATCH v7 5/8] phy: phy-can-transceiver: Add support for TJA105{1,7} Peng Fan
2025-10-01 13:22 ` [PATCH v7 6/8] arm64: dts: imx95-15x15-evk: Use phys to replace xceiver-supply Peng Fan
2025-10-01 13:22 ` [PATCH v7 7/8] arm64: dts: imx8mp-evk: " Peng Fan
2025-10-01 13:22 ` [PATCH v7 8/8] arm64: dts: imx93-11x11-evk: " Peng Fan
2025-11-03 4:08 ` [PATCH v7 0/8] phy: phy-can-transceiver: Support TJA1048/TJA1051 Peng Fan
2025-11-12 8:44 ` Marc Kleine-Budde
2025-11-18 17:18 ` (subset) " Vinod Koul
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=20251001-can-v7-0-fad29efc3884@nxp.com \
--to=peng.fan@nxp.com \
--cc=a-govindraju@ti.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=frank.li@nxp.com \
--cc=haibo.chen@nxp.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=kishon@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=mailhol@kernel.org \
--cc=mkl@pengutronix.de \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=vkoul@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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®