Re: [PATCH anybus v1 2/4] dt-bindings: anybus-bridge: document devicetree binding.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/25/2018 08:55 AM, thesven73@xxxxxxxxx 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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux