On 11/05/2018 12:14 PM, Faiz Abbas wrote: > Hi, > > On Monday 05 November 2018 03:07 PM, Marc Kleine-Budde wrote: >> On 11/05/2018 07:27 AM, Faiz Abbas wrote: >>> I remove the transceiver child node binding documentation in patch 5/6. >>> >>> The existing implementation is pretty limiting as it just has a child >>> node with no associated device. What if a transceiver requires its own >>> configurations before it can start sending/receiving messages (for >>> example, my usecase requires it to pull the standby line low)? >>> >>> I think that can be solved by implementing the transceiver as a phy and >>> exposing a generic get_max_bitrate API. That way, the transceiver device >>> can do all its startup configuration in the phy probe function. >>> >>> In any case, do suggest if you have a better idea on how to implement >>> pull gpio low requirement. >> >> As long as we don't have any proper transceiver/phy driver, that does >> more than swtich on/off a GPIO, please add a "xceiver" regulator to your >> driver. Look for: >> >>> devm_regulator_get(&pdev->dev, "xceiver"); >> > > The transceiver is not specific to m_can. The pull down would be > required even if it were connected to some other controller. Ok, this is a quite common pattern. For the fsl/nxp boards we add the regulator to the board dts. See "imx28-evk.dts" for example: > can0: can@80032000 { > pinctrl-names = "default"; > pinctrl-0 = <&can0_pins_a>; > xceiver-supply = <®_can_3v3>; > status = "okay"; > }; > > can1: can@80034000 { > pinctrl-names = "default"; > pinctrl-0 = <&can1_pins_a>; > xceiver-supply = <®_can_3v3>; > status = "okay"; > }; Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Attachment:
signature.asc
Description: OpenPGP digital signature