mbox series

[v2,0/2] MCAN: Add support for implementing transceiver as a phy

Message ID 20210415154635.30094-1-a-govindraju@ti.com
Headers show
Series MCAN: Add support for implementing transceiver as a phy | expand

Message

Aswath Govindraju April 15, 2021, 3:46 p.m. UTC
The following series of patches add support for implementing the
transceiver as a phy of m_can_platform driver.

TCAN1042 has a standby signal that needs to be pulled high for
sending/receiving messages[1]. TCAN1043 has a enable signal along with
standby signal that needs to be pulled up for sending/receiving
messages[2], and other combinations of the two lines can be used to put the
transceiver in different states to reduce power consumption. On boards
like the AM654-idk and J721e-evm these signals are controlled using gpios.

These gpios are set in phy driver, and the transceiver can be put in
different states using phy API. The phy driver is added in the series [3].

This patch series is dependent on [4].

Changes since v1:
- Used the API devm_phy_get_optional() instead of 
  devm_of_phy_get_optional_by_index()

[1] - https://www.ti.com/lit/ds/symlink/tcan1042h.pdf
[2] - https://www.ti.com/lit/ds/symlink/tcan1043-q1.pdf
[3] - https://lore.kernel.org/patchwork/project/lkml/list/?series=495365
[4] - https://lore.kernel.org/patchwork/patch/1413286/

Faiz Abbas (2):
  dt-bindings: net: can: Document transceiver implementation as phy
  can: m_can: Add support for transceiver as phy

 .../devicetree/bindings/net/can/bosch,m_can.yaml    |  3 +++
 drivers/net/can/m_can/m_can.c                       | 10 ++++++++++
 drivers/net/can/m_can/m_can.h                       |  2 ++
 drivers/net/can/m_can/m_can_platform.c              | 13 +++++++++++++
 4 files changed, 28 insertions(+)

Comments

Rob Herring April 15, 2021, 9:35 p.m. UTC | #1
On Thu, 15 Apr 2021 21:16:34 +0530, Aswath Govindraju wrote:
> From: Faiz Abbas <faiz_abbas@ti.com>
> 
> Some transceivers need a configuration step (for example, pulling the
> standby or enable lines) for them to start sending messages. The
> transceiver can be implemented as a phy with the configuration done in the
> phy driver. The bit rate limitation can the be obtained by the driver using
> the phy node.
> 
> Document the above implementation in the bosch mcan bindings
> 
> Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
> ---
>  Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 3 +++
>  1 file changed, 3 insertions(+)
> 

Acked-by: Rob Herring <robh@kernel.org>
Aswath Govindraju April 16, 2021, 11:45 a.m. UTC | #2
Hi all,

On 15/04/21 9:16 pm, Aswath Govindraju wrote:
> The following series of patches add support for implementing the

> transceiver as a phy of m_can_platform driver.

> 

> TCAN1042 has a standby signal that needs to be pulled high for

> sending/receiving messages[1]. TCAN1043 has a enable signal along with

> standby signal that needs to be pulled up for sending/receiving

> messages[2], and other combinations of the two lines can be used to put the

> transceiver in different states to reduce power consumption. On boards

> like the AM654-idk and J721e-evm these signals are controlled using gpios.

> 

> These gpios are set in phy driver, and the transceiver can be put in

> different states using phy API. The phy driver is added in the series [3].

> 

> This patch series is dependent on [4].

> 

> Changes since v1:

> - Used the API devm_phy_get_optional() instead of 

>   devm_of_phy_get_optional_by_index()

> 

> [1] - https://www.ti.com/lit/ds/symlink/tcan1042h.pdf

> [2] - https://www.ti.com/lit/ds/symlink/tcan1043-q1.pdf

> [3] - https://lore.kernel.org/patchwork/project/lkml/list/?series=495365

> [4] - https://lore.kernel.org/patchwork/patch/1413286/

> 


Posted v3 for this series.

Thanks,
Aswath

> Faiz Abbas (2):

>   dt-bindings: net: can: Document transceiver implementation as phy

>   can: m_can: Add support for transceiver as phy

> 

>  .../devicetree/bindings/net/can/bosch,m_can.yaml    |  3 +++

>  drivers/net/can/m_can/m_can.c                       | 10 ++++++++++

>  drivers/net/can/m_can/m_can.h                       |  2 ++

>  drivers/net/can/m_can/m_can_platform.c              | 13 +++++++++++++

>  4 files changed, 28 insertions(+)

>
Marc Kleine-Budde April 16, 2021, 12:37 p.m. UTC | #3
On 15.04.2021 21:16:33, Aswath Govindraju wrote:
> The following series of patches add support for implementing the

> transceiver as a phy of m_can_platform driver.

> 

> TCAN1042 has a standby signal that needs to be pulled high for

> sending/receiving messages[1]. TCAN1043 has a enable signal along with

> standby signal that needs to be pulled up for sending/receiving

> messages[2], and other combinations of the two lines can be used to put the

> transceiver in different states to reduce power consumption. On boards

> like the AM654-idk and J721e-evm these signals are controlled using gpios.

> 

> These gpios are set in phy driver, and the transceiver can be put in

> different states using phy API. The phy driver is added in the series [3].

> 

> This patch series is dependent on [4].


Looks good. Can you ping me after the next -rc1, when this patch hits
mainline. Then I'll merge this into linux-can-next.

regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |