[PATCH 0/6] Add Support for MCAN transceivers in AM65x-evm

From: Faiz Abbas
Date: Fri Nov 02 2018 - 15:24:04 EST


The following patches add support for CAN transceivers in the AM65x-evm.

The legacy transceiver implementation has a transceiver node as a child of the
m_can node with a max-bitrate property which is read directly by the
of_can_transceiver() API. The transceivers on the present platform however,
require some configuration (pulling the gpio connected to the stb line of
the transceiver low) before they can start sending messages.

The new implementation models the transceiver as a phy and implements the
max-bitrate as a phy attribute.

patch 1 adds the max_bitrate attribute to the phy core. It also implements the API
to be used by the consumer to get the attribute.

patches 2 & 3 implement a generic phy driver for simple implementations.

patches 4,5 & 6 implement the transceiver as a phy to the m_can driver.

Note: Pinmux and GPIO support for am65x-evm are not yet implemented in upstream.
So I tested this implementation with some out of tree patches on top of linux-next.
dts patches will be posted as soon as the above frameworks are available.

Faiz Abbas (6):
phy: Add max_bitrate attribute & phy_get_max_bitrate()
dt-bindings: phy: phy-of-simple: Document new binding
phy: phy-of-simple: Add support for simple generic phy driver
dt-bindings: can: m_can: Document transceiver implementation as a phy
dt-bindings: can: can-transceiver: Remove legacy binding documentation
can: m_can: Add support for transceiver as phy

.../bindings/net/can/can-transceiver.txt | 24 -----
.../devicetree/bindings/net/can/m_can.txt | 24 +++--
.../devicetree/bindings/phy/phy-of-simple.txt | 29 ++++++
drivers/net/can/m_can/m_can.c | 23 ++++-
drivers/phy/Kconfig | 7 ++
drivers/phy/Makefile | 1 +
drivers/phy/phy-of-simple.c | 90 +++++++++++++++++++
include/linux/phy/phy.h | 5 ++
8 files changed, 170 insertions(+), 33 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/net/can/can-transceiver.txt
create mode 100644 Documentation/devicetree/bindings/phy/phy-of-simple.txt
create mode 100644 drivers/phy/phy-of-simple.c

--
2.18.0