* [PATCH] driver: pwm: pwm-imx: fix probing on imx6
@ 2024-08-07 8:58 Heiko Schocher
2024-08-07 9:28 ` Anatolij Gustschin
0 siblings, 1 reply; 3+ messages in thread
From: Heiko Schocher @ 2024-08-07 8:58 UTC (permalink / raw)
To: U-Boot Mailing List
Cc: Heiko Schocher, Anatolij Gustschin, Tom Rini, Tommaso Merciai
U-Boot 2024.07 drops on aristainetos2 board the following
warning:
Failed to enable per_clk
and bootlogo is not seen on LVDS display.
This patch uses old behaviour for systems without clock framework
if CONFIG_CLK is not enabled.
Fixes: bfc778cb93a3 ("driver: pwm: pwm-imx: get and enable per/ipg clock using dm")
Signed-off-by: Heiko Schocher <hs@denx.de>
---
drivers/pwm/pwm-imx.c | 56 ++++++++++++++++++++++++-------------------
1 file changed, 31 insertions(+), 25 deletions(-)
diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
index 8fbb40cc276..0237ee70977 100644
--- a/drivers/pwm/pwm-imx.c
+++ b/drivers/pwm/pwm-imx.c
@@ -160,7 +160,11 @@ int pwm_dm_imx_get_parms(struct imx_pwm_priv *priv, int period_ns,
{
unsigned long long c;
- c = clk_get_rate(&priv->per_clk);
+ if (IS_ENABLED(CONFIG_CLK))
+ c = clk_get_rate(&priv->per_clk);
+ else
+ c = CFG_IMX6_PWM_PER_CLK;
+
c = c * period_ns;
do_div(c, 1000000000);
*period_c = c;
@@ -227,43 +231,45 @@ static int imx_pwm_set_enable(struct udevice *dev, uint channel, bool enable)
static int imx_pwm_of_to_plat(struct udevice *dev)
{
- int ret;
+ int __maybe_unused ret;
struct imx_pwm_priv *priv = dev_get_priv(dev);
priv->regs = dev_read_addr_ptr(dev);
- ret = clk_get_by_name(dev, "per", &priv->per_clk);
- if (ret) {
- printf("Failed to get per_clk\n");
- return ret;
- }
-
- ret = clk_get_by_name(dev, "ipg", &priv->ipg_clk);
- if (ret) {
- printf("Failed to get ipg_clk\n");
- return ret;
+ if (IS_ENABLED(CONFIG_CLK)) {
+ ret = clk_get_by_name(dev, "per", &priv->per_clk);
+ if (ret) {
+ printf("Failed to get per_clk\n");
+ return ret;
+ }
+
+ ret = clk_get_by_name(dev, "ipg", &priv->ipg_clk);
+ if (ret) {
+ printf("Failed to get ipg_clk\n");
+ return ret;
+ }
}
-
return 0;
}
static int imx_pwm_probe(struct udevice *dev)
{
- int ret;
+ int __maybe_unused ret;
struct imx_pwm_priv *priv = dev_get_priv(dev);
- ret = clk_enable(&priv->per_clk);
- if (ret) {
- printf("Failed to enable per_clk\n");
- return ret;
- }
-
- ret = clk_enable(&priv->ipg_clk);
- if (ret) {
- printf("Failed to enable ipg_clk\n");
- return ret;
+ if (IS_ENABLED(CONFIG_CLK)) {
+ ret = clk_enable(&priv->per_clk);
+ if (ret) {
+ printf("Failed to enable per_clk\n");
+ return ret;
+ }
+
+ ret = clk_enable(&priv->ipg_clk);
+ if (ret) {
+ printf("Failed to enable ipg_clk\n");
+ return ret;
+ }
}
-
return 0;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] driver: pwm: pwm-imx: fix probing on imx6
2024-08-07 8:58 [PATCH] driver: pwm: pwm-imx: fix probing on imx6 Heiko Schocher
@ 2024-08-07 9:28 ` Anatolij Gustschin
2024-08-07 9:34 ` Heiko Schocher
0 siblings, 1 reply; 3+ messages in thread
From: Anatolij Gustschin @ 2024-08-07 9:28 UTC (permalink / raw)
To: Heiko Schocher; +Cc: U-Boot Mailing List, Tom Rini, Tommaso Merciai
Hi Heiko,
On Wed, 7 Aug 2024 10:58:11 +0200
Heiko Schocher hs@denx.de wrote:
> U-Boot 2024.07 drops on aristainetos2 board the following
> warning:
>
> Failed to enable per_clk
>
> and bootlogo is not seen on LVDS display.
>
> This patch uses old behaviour for systems without clock framework
> if CONFIG_CLK is not enabled.
>
> Fixes: bfc778cb93a3 ("driver: pwm: pwm-imx: get and enable per/ipg clock using dm")
>
> Signed-off-by: Heiko Schocher <hs@denx.de>
> ---
>
> drivers/pwm/pwm-imx.c | 56 ++++++++++++++++++++++++-------------------
> 1 file changed, 31 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
> index 8fbb40cc276..0237ee70977 100644
> --- a/drivers/pwm/pwm-imx.c
> +++ b/drivers/pwm/pwm-imx.c
> @@ -160,7 +160,11 @@ int pwm_dm_imx_get_parms(struct imx_pwm_priv *priv, int period_ns,
> {
> unsigned long long c;
>
> - c = clk_get_rate(&priv->per_clk);
> + if (IS_ENABLED(CONFIG_CLK))
Can we please use if (CONFIG_IS_ENABLED(CLK)) ? So it will also
work with SPL. Thanks!
--
Anatolij
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] driver: pwm: pwm-imx: fix probing on imx6
2024-08-07 9:28 ` Anatolij Gustschin
@ 2024-08-07 9:34 ` Heiko Schocher
0 siblings, 0 replies; 3+ messages in thread
From: Heiko Schocher @ 2024-08-07 9:34 UTC (permalink / raw)
To: Anatolij Gustschin; +Cc: U-Boot Mailing List, Tom Rini, Tommaso Merciai
Hello Anatolij,
On 07.08.24 11:28, Anatolij Gustschin wrote:
> Hi Heiko,
>
> On Wed, 7 Aug 2024 10:58:11 +0200
> Heiko Schocher hs@denx.de wrote:
>
>> U-Boot 2024.07 drops on aristainetos2 board the following
>> warning:
>>
>> Failed to enable per_clk
>>
>> and bootlogo is not seen on LVDS display.
>>
>> This patch uses old behaviour for systems without clock framework
>> if CONFIG_CLK is not enabled.
>>
>> Fixes: bfc778cb93a3 ("driver: pwm: pwm-imx: get and enable per/ipg clock using dm")
>>
>> Signed-off-by: Heiko Schocher <hs@denx.de>
>> ---
>>
>> drivers/pwm/pwm-imx.c | 56 ++++++++++++++++++++++++-------------------
>> 1 file changed, 31 insertions(+), 25 deletions(-)
>>
>> diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
>> index 8fbb40cc276..0237ee70977 100644
>> --- a/drivers/pwm/pwm-imx.c
>> +++ b/drivers/pwm/pwm-imx.c
>> @@ -160,7 +160,11 @@ int pwm_dm_imx_get_parms(struct imx_pwm_priv *priv, int period_ns,
>> {
>> unsigned long long c;
>>
>> - c = clk_get_rate(&priv->per_clk);
>> + if (IS_ENABLED(CONFIG_CLK))
>
> Can we please use if (CONFIG_IS_ENABLED(CLK)) ? So it will also
> work with SPL. Thanks!
Yep, of course, changed locally... wait for some more comments
before posting v2.
bye,
Heiko
--
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs@denx.de
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-08-07 9:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-07 8:58 [PATCH] driver: pwm: pwm-imx: fix probing on imx6 Heiko Schocher
2024-08-07 9:28 ` Anatolij Gustschin
2024-08-07 9:34 ` Heiko Schocher
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.