Message ID | 20210414140521.11463-1-a-govindraju@ti.com |
---|---|
Headers | show |
Series | CAN TRANSCEIVER: Add support for CAN transceivers | expand |
On 14.04.2021 19:35:15, Aswath Govindraju wrote: > The following series of patches add support for CAN transceivers. > > 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. > > Patch 1 rewords the comment that restricts max_link_rate attribute to have > units of Mbps. > > Patch 2 adds an API for devm_of_phy_optional_get_by_index You probably want to split this into 2 or even 3 separate series. The first one would be patches 1+2 then 3+4 they can go via the phy tree. Patches 5+6 can go via linux-can-next > Patch 3 models the transceiver as a phy device tree node with properties > for max bit rate supported, gpio properties for indicating gpio pin numbers > to which standby and enable signals are connected. > > Patch 4 adds a generic driver to support CAN transceivers. > > Patches 5 & 6 add support for implementing the transceiver as a phy of > m_can_platform driver. regards, Marc
Hi Marc, On 14/04/21 9:03 pm, Marc Kleine-Budde wrote: > On 14.04.2021 19:35:18, Aswath Govindraju wrote: >> Add binding documentation for TI TCAN104x CAN transceivers. >> >> Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> >> --- >> .../bindings/phy/ti,tcan104x-can.yaml | 56 +++++++++++++++++++ >> MAINTAINERS | 1 + >> 2 files changed, 57 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/phy/ti,tcan104x-can.yaml >> >> diff --git a/Documentation/devicetree/bindings/phy/ti,tcan104x-can.yaml b/Documentation/devicetree/bindings/phy/ti,tcan104x-can.yaml >> new file mode 100644 >> index 000000000000..4abfc30a97d0 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/phy/ti,tcan104x-can.yaml >> @@ -0,0 +1,56 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: "http://devicetree.org/schemas/phy/ti,tcan104x-can.yaml#" >> +$schema: "http://devicetree.org/meta-schemas/core.yaml#" >> + >> +title: TCAN104x CAN TRANSCEIVER PHY >> + >> +maintainers: >> + - Aswath Govindraju <a-govindraju@ti.com> >> + >> +properties: >> + $nodename: >> + pattern: "^tcan104x-phy" >> + >> + compatible: >> + enum: >> + - ti,tcan1042 >> + - ti,tcan1043 > > Can you ensure that the 1042 has only the standby gpio and the 1043 has both? > In the driver, it is the way the flags have been set for ti,tcan1042 and ti,tcan1043. >> + >> + '#phy-cells': >> + const: 0 >> + >> + standby-gpios: >> + description: >> + gpio node to toggle standby signal on transceiver >> + maxItems: 1 >> + >> + enable-gpios: >> + description: >> + gpio node to toggle enable signal on transceiver >> + maxItems: 1 >> + >> + max-bitrate: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + max bit rate supported in bps >> + minimum: 1 >> + >> +required: >> + - compatible >> + - '#phy-cells' >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/gpio/gpio.h> >> + >> + transceiver1: tcan104x-phy { >> + compatible = "ti,tcan1043"; >> + #phy-cells = <0>; >> + max-bitrate = <5000000>; >> + standby-gpios = <&wakeup_gpio1 16 GPIO_ACTIVE_LOW>; >> + enable-gpios = <&main_gpio1 67 GPIO_ACTIVE_LOW>; > > AFAICS the enable gpio is active high. > I will correct this in the respin. Thanks, Aswath > Marc >