The Cygnus architecture use a Kona PWM. This is already present
in the device tree but can't be built actually. Hence, allow the
Kona PWM to be built for Cygnus arch.
Signed-off-by: Clément Péron <[email protected]>
---
drivers/pwm/Kconfig | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
index 27e5dd47a01f..982f4059f4e8 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
@@ -88,7 +88,9 @@ config PWM_BCM_IPROC
config PWM_BCM_KONA
tristate "Kona PWM support"
- depends on ARCH_BCM_MOBILE
+ depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
+ depends on HAVE_CLK && HAS_IOMEM
+ default ARCH_BCM_CYGNUS
help
Generic PWM framework driver for Broadcom Kona PWM block.
--
2.19.1
On 11/21/2018 4:35 AM, Clément Péron wrote:
> The Cygnus architecture use a Kona PWM. This is already present
> in the device tree but can't be built actually. Hence, allow the
> Kona PWM to be built for Cygnus arch.
>
> Signed-off-by: Clément Péron <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
The "default ARCH_BCM_CYGNUS" could arguably cover ARCH_BCM_MOBILE as
well, but this is not probably worth a respin just to address that.
> ---
> drivers/pwm/Kconfig | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
> index 27e5dd47a01f..982f4059f4e8 100644
> --- a/drivers/pwm/Kconfig
> +++ b/drivers/pwm/Kconfig
> @@ -88,7 +88,9 @@ config PWM_BCM_IPROC
>
> config PWM_BCM_KONA
> tristate "Kona PWM support"
> - depends on ARCH_BCM_MOBILE
> + depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
> + depends on HAVE_CLK && HAS_IOMEM
> + default ARCH_BCM_CYGNUS
> help
> Generic PWM framework driver for Broadcom Kona PWM block.
>
>
--
Florian
On 2018-11-21 11:00 a.m., Florian Fainelli wrote:
>
> On 11/21/2018 4:35 AM, Clément Péron wrote:
>> The Cygnus architecture use a Kona PWM. This is already present
>> in the device tree but can't be built actually. Hence, allow the
>> Kona PWM to be built for Cygnus arch.
>>
>> Signed-off-by: Clément Péron <[email protected]>
> Reviewed-by: Florian Fainelli <[email protected]>
Reviewed-by: Scott Branden <[email protected]>
>
> The "default ARCH_BCM_CYGNUS" could arguably cover ARCH_BCM_MOBILE as
> well, but this is not probably worth a respin just to address that.
Yes, it's fine as is.
>
>> ---
>> drivers/pwm/Kconfig | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
>> index 27e5dd47a01f..982f4059f4e8 100644
>> --- a/drivers/pwm/Kconfig
>> +++ b/drivers/pwm/Kconfig
>> @@ -88,7 +88,9 @@ config PWM_BCM_IPROC
>>
>> config PWM_BCM_KONA
>> tristate "Kona PWM support"
>> - depends on ARCH_BCM_MOBILE
>> + depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
>> + depends on HAVE_CLK && HAS_IOMEM
>> + default ARCH_BCM_CYGNUS
>> help
>> Generic PWM framework driver for Broadcom Kona PWM block.
>>
>>
Hello Cl?ment,
On Wed, Nov 21, 2018 at 01:35:08PM +0100, Cl?ment P?ron wrote:
> The Cygnus architecture use a Kona PWM. This is already present
> in the device tree but can't be built actually. Hence, allow the
> Kona PWM to be built for Cygnus arch.
>
> Signed-off-by: Cl?ment P?ron <[email protected]>
> ---
> drivers/pwm/Kconfig | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
> index 27e5dd47a01f..982f4059f4e8 100644
> --- a/drivers/pwm/Kconfig
> +++ b/drivers/pwm/Kconfig
> @@ -88,7 +88,9 @@ config PWM_BCM_IPROC
>
> config PWM_BCM_KONA
> tristate "Kona PWM support"
> - depends on ARCH_BCM_MOBILE
> + depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
> + depends on HAVE_CLK && HAS_IOMEM
> + default ARCH_BCM_CYGNUS
This looks good. As pointed out before the default is a bit strange
and could include ARCH_BCM_MOBILE for symmetry.
Anyhow:
Acked-by: Uwe Kleine-K?nig <[email protected]>
Related to this driver I have a set of questions: If the disable
callback completed, does the hardware still drive the pin? If yes, would
it be possible to disable the pin driver such that the pin gets high-Z?
If yes, how?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Hi,
On Thu, 22 Nov 2018 at 21:05, Uwe Kleine-König
<[email protected]> wrote:
>
> Hello Clément,
>
> On Wed, Nov 21, 2018 at 01:35:08PM +0100, Clément Péron wrote:
> > The Cygnus architecture use a Kona PWM. This is already present
> > in the device tree but can't be built actually. Hence, allow the
> > Kona PWM to be built for Cygnus arch.
> >
> > Signed-off-by: Clément Péron <[email protected]>
> > ---
> > drivers/pwm/Kconfig | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
> > index 27e5dd47a01f..982f4059f4e8 100644
> > --- a/drivers/pwm/Kconfig
> > +++ b/drivers/pwm/Kconfig
> > @@ -88,7 +88,9 @@ config PWM_BCM_IPROC
> >
> > config PWM_BCM_KONA
> > tristate "Kona PWM support"
> > - depends on ARCH_BCM_MOBILE
> > + depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST
> > + depends on HAVE_CLK && HAS_IOMEM
> > + default ARCH_BCM_CYGNUS
>
> This looks good. As pointed out before the default is a bit strange
> and could include ARCH_BCM_MOBILE for symmetry.
Ok, let me resend a v3
>
> Anyhow:
>
> Acked-by: Uwe Kleine-König <[email protected]>
>
> Related to this driver I have a set of questions: If the disable
> callback completed, does the hardware still drive the pin? If yes, would
> it be possible to disable the pin driver such that the pin gets high-Z?
> If yes, how?
The output pin type is configured with the bit "21:16 PWMOUT_TYPE RW
default 0x3F" in the Control register
PWM_CONTROL_TYPE_SHIFT macro in the driver
Datasheets says : "When set to 1 the PWM Output signal will have a
push/pull type.When set to 0 the PWM Output signal will have an open
drain output type.Recommend to leave it push/pull type."
In the driver we actually set push/pull mode for all channels :
/* Set push/pull for all channels */
for (chan = 0; chan < kp->chip.npwm; chan++)
value |= (1 << PWM_CONTROL_TYPE_SHIFT(chan));
Regards,
Clement
>
> Best regards
> Uwe
>
> --
> Pengutronix e.K. | Uwe Kleine-König |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
Hello Cl?ment,
On Fri, Nov 23, 2018 at 10:31:18AM +0100, Cl?ment P?ron wrote:
> On Thu, 22 Nov 2018 at 21:05, Uwe Kleine-K?nig
> <[email protected]> wrote:
> > Related to this driver I have a set of questions: If the disable
> > callback completed, does the hardware still drive the pin? If yes, would
> > it be possible to disable the pin driver such that the pin gets high-Z?
> > If yes, how?
>
> The output pin type is configured with the bit "21:16 PWMOUT_TYPE RW
> default 0x3F" in the Control register
> PWM_CONTROL_TYPE_SHIFT macro in the driver
> Datasheets says : "When set to 1 the PWM Output signal will have a
> push/pull type.When set to 0 the PWM Output signal will have an open
> drain output type.Recommend to leave it push/pull type."
>
> In the driver we actually set push/pull mode for all channels :
> /* Set push/pull for all channels */
> for (chan = 0; chan < kp->chip.npwm; chan++)
> value |= (1 << PWM_CONTROL_TYPE_SHIFT(chan));
So if disabling the output driver was part of the requirements for
.disable the bcm-kona driver could not implement this for both inverted
and uninverted PWMs. (At least not without resorting to pinmuxing.)
Thanks
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |