2021-05-10 05:30:29

by Aswath Govindraju

[permalink] [raw]
Subject: [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy

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 v3:
- Added phy_power_off() in case of an error in m_can_open().

changes since v2:
- changed dev_err to dev_err_probe in patch 2
- used mcan_class instead of priv to assign max bit rate
- Picked up Rob Herring's acked-by for patch 1

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=498359
[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 | 11 +++++++++++
drivers/net/can/m_can/m_can.h | 2 ++
drivers/net/can/m_can/m_can_platform.c | 13 +++++++++++++
4 files changed, 29 insertions(+)

--
2.17.1


2021-05-10 05:30:33

by Aswath Govindraju

[permalink] [raw]
Subject: [PATCH v4 1/2] dt-bindings: net: can: Document transceiver implementation as phy

From: Faiz Abbas <[email protected]>

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 <[email protected]>
Signed-off-by: Aswath Govindraju <[email protected]>
Acked-by: Rob Herring <[email protected]>
---
Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 3 +++
1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
index 798fa5fb7bb2..25f74db46bae 100644
--- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
+++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
@@ -109,6 +109,9 @@ properties:
can-transceiver:
$ref: can-transceiver.yaml#

+ phys:
+ maxItems: 1
+
required:
- compatible
- reg
--
2.17.1

2021-06-14 12:35:17

by Aswath Govindraju

[permalink] [raw]
Subject: Re: [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy

Hi Marc,

On 10/05/21 10:55 am, 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].
>

[4] is now part of linux-next

May I know if this series is okay to be picked up ?

Thanks,
Aswath

> changes since v3:
> - Added phy_power_off() in case of an error in m_can_open().
>
> changes since v2:
> - changed dev_err to dev_err_probe in patch 2
> - used mcan_class instead of priv to assign max bit rate
> - Picked up Rob Herring's acked-by for patch 1
>
> 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=498359
> [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 | 11 +++++++++++
> drivers/net/can/m_can/m_can.h | 2 ++
> drivers/net/can/m_can/m_can_platform.c | 13 +++++++++++++
> 4 files changed, 29 insertions(+)

2021-06-16 09:18:45

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy

On 14.06.2021 18:02:53, Aswath Govindraju wrote:
> Hi Marc,
>
> On 10/05/21 10:55 am, 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].
> >
>
> [4] is now part of linux-next
>
> > [4] - https://lore.kernel.org/patchwork/patch/1413286/
>
> May I know if this series is okay to be picked up ?

As soon as this hits net-next/master I can pick up this series.

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 |


Attachments:
(No filename) (1.38 kB)
signature.asc (499.00 B)
Download all attachments

2021-07-19 14:19:28

by Aswath Govindraju

[permalink] [raw]
Subject: Re: [PATCH v4 0/2] MCAN: Add support for implementing transceiver as a phy

Hi Marc,

On 16/06/21 2:47 pm, Marc Kleine-Budde wrote:
> On 14.06.2021 18:02:53, Aswath Govindraju wrote:
>> Hi Marc,
>>
>> On 10/05/21 10:55 am, 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].
>>>
>>
>> [4] is now part of linux-next
>>
>>> [4] - https://lore.kernel.org/patchwork/patch/1413286/
>>
>> May I know if this series is okay to be picked up ?
>
> As soon as this hits net-next/master I can pick up this series.
>

Thank you for reply.

I am planning on posting device tree patches to arm64 tree and
Nishanth(maintainer of the tree) requested for an immutable tag if the
dependent patches are not in master. So, after applying this patch
series, can you please provide an immutable tag ?

Thanks,
Aswath

> Marc
>