lkml.org 
[lkml]   [2018]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH anybus v1 2/4] dt-bindings: anybus-bridge: document devicetree binding.
From
Date
On 10/25/2018 08:55 AM, thesven73@gmail.com wrote:
> Hi Linus, thank you for the patch review !!
>
>>> + - pwms : the pwm connected to the bridge's 'pwm input'.
>>
>> That is really unintuitive and needs a detailed explanation. What
>> is a bridge doing with a PWM? Is it 100% certain this is a PWM,
>> it's not just a .... clock? A pwm is a pule WIDTH modulator and
>> I can't for my life understand why a bus bridge needs a signal
>> with variable pulse width, but surprise me! :D
>
> You are 100% correct, this is a clock !
> The hardware designers attached the bridge's clock input to an iMX pwm output,
> and instructed us to provide a clock with 50% duty cycle and a certain freq.
>
> The only way I know to activate a pwm is to connect it to a driver in the fdt,
> then inside the driver enable the pwm, like so:
>
> + /* PWM */
> + pwm = devm_pwm_get(dev, NULL);
> + if (IS_ERR(pwm)) {
> + dev_err(dev, "pwm not found\n");
> + return -EINVAL;
> + }
> + pwm_get_args(pwm, &pargs);
> + period = pargs.period;
> + err = pwm_config(pwm, period/2, period);
> + if (err)
> + return err;
> + err = pwm_enable(pwm);
> + if (err)
> + return err;
>
> This is why the bridge driver has a dependency on a pwm.
> If the pwm could be enabled individually, I could drop this dependency.
> Can you think of a way?


How about using the pwm-clock device tree binding to turn the PWM into
a clock?

Documentation/devicetree/bindings/clock/pwm-clock.txt

\
 
 \ /
  Last update: 2018-10-25 17:32    [W:0.030 / U:28.428 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site