* [PATCH 0/2] Two non-urgent ti-sysc driver fixes @ 2018-11-15 22:02 Tony Lindgren 2018-11-15 22:02 ` [PATCH 1/2] bus: ti-sysc: Fix getting optional clocks in clock_roles Tony Lindgren 2018-11-15 22:02 ` [PATCH 2/2] bus: ti-sysc: Add mcasp optional clocks flag Tony Lindgren 0 siblings, 2 replies; 4+ messages in thread From: Tony Lindgren @ 2018-11-15 22:02 UTC (permalink / raw) To: linux-omap Cc: Dave Gerlach, Faiz Abbas, Greg Kroah-Hartman, Keerthy, Nishanth Menon, Suman Anna, Tero Kristo, linux-kernel, linux-arm-kernel Hi, Here are two fixes for ti-sysc for issues I've noticed while testing on more SoCs. Looks like these can wait until v4.21 merge window. Regards, Tony Tony Lindgren (2): bus: ti-sysc: Fix getting optional clocks in clock_roles bus: ti-sysc: Add mcasp optional clocks flag .../devicetree/bindings/bus/ti-sysc.txt | 1 + drivers/bus/ti-sysc.c | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) -- 2.19.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] bus: ti-sysc: Fix getting optional clocks in clock_roles 2018-11-15 22:02 [PATCH 0/2] Two non-urgent ti-sysc driver fixes Tony Lindgren @ 2018-11-15 22:02 ` Tony Lindgren 2018-11-15 22:02 ` [PATCH 2/2] bus: ti-sysc: Add mcasp optional clocks flag Tony Lindgren 1 sibling, 0 replies; 4+ messages in thread From: Tony Lindgren @ 2018-11-15 22:02 UTC (permalink / raw) To: linux-omap Cc: Dave Gerlach, Faiz Abbas, Greg Kroah-Hartman, Keerthy, Nishanth Menon, Suman Anna, Tero Kristo, linux-kernel, linux-arm-kernel We can have holes in clock_roles with interface clock missing for example. Currently getting an optional clock will fail if there are only a functional clock and an optional clock. Fixes: 09dfe5810762 ("bus: ti-sysc: Add handling for clkctrl opt clocks") Signed-off-by: Tony Lindgren <tony@atomide.com> --- drivers/bus/ti-sysc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -214,8 +214,13 @@ static int sysc_get_clocks(struct sysc *ddata) if (!ddata->clocks) return -ENOMEM; - for (i = 0; i < ddata->nr_clocks; i++) { - error = sysc_get_one_clock(ddata, ddata->clock_roles[i]); + for (i = 0; i < SYSC_MAX_CLOCKS; i++) { + const char *name = ddata->clock_roles[i]; + + if (!name) + continue; + + error = sysc_get_one_clock(ddata, name); if (error && error != -ENOENT) return error; } -- 2.19.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] bus: ti-sysc: Add mcasp optional clocks flag 2018-11-15 22:02 [PATCH 0/2] Two non-urgent ti-sysc driver fixes Tony Lindgren 2018-11-15 22:02 ` [PATCH 1/2] bus: ti-sysc: Fix getting optional clocks in clock_roles Tony Lindgren @ 2018-11-15 22:02 ` Tony Lindgren 2018-11-15 22:07 ` Tony Lindgren 1 sibling, 1 reply; 4+ messages in thread From: Tony Lindgren @ 2018-11-15 22:02 UTC (permalink / raw) To: linux-omap Cc: Dave Gerlach, Faiz Abbas, Greg Kroah-Hartman, Keerthy, Nishanth Menon, Suman Anna, Tero Kristo, linux-kernel, linux-arm-kernel, Mark Rutland, Rob Herring We have OPT_CLKS_NEEDED in legacy platform data, but it's missing from the ti-sysc driver for device tree based configuration. In order to pass OPT_CLKS_NEEDED quirk flag we need to update omap4 module data and add a new compatible for dra7 as the module layout is different from sysc_regbits_omap4_mcasp. Fixes: 70a65240efb1 ("bus: ti-sysc: Add register bits for interconnect target modules") Cc: Mark Rutland <mark.rutland@arm.com> Cc: Rob Herring <robh+dt@kernel.org> Signed-off-by: Tony Lindgren <tony@atomide.com> --- Documentation/devicetree/bindings/bus/ti-sysc.txt | 1 + drivers/bus/ti-sysc.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/Documentation/devicetree/bindings/bus/ti-sysc.txt b/Documentation/devicetree/bindings/bus/ti-sysc.txt --- a/Documentation/devicetree/bindings/bus/ti-sysc.txt +++ b/Documentation/devicetree/bindings/bus/ti-sysc.txt @@ -35,6 +35,7 @@ Required standard properties: "ti,sysc-omap3-sham" "ti,sysc-omap-aes" "ti,sysc-mcasp" + "ti,sysc-dra7-mcasp" "ti,sysc-usb-host-fs" "ti,sysc-dra7-mcan" diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -1503,6 +1503,16 @@ static const struct sysc_regbits sysc_regbits_omap4_mcasp = { static const struct sysc_capabilities sysc_omap4_mcasp = { .type = TI_SYSC_OMAP4_MCASP, .regbits = &sysc_regbits_omap4_mcasp, + .mod_quirks = SYSC_QUIRK_OPT_CLKS_NEEDED, +}; + +/* + * McASP found on dra7 and later + */ +static const struct sysc_capabilities sysc_dra7_mcasp = { + .type = TI_SYSC_OMAP4_SIMPLE, + .regbits = &sysc_regbits_omap4_simple, + .mod_quirks = SYSC_QUIRK_OPT_CLKS_NEEDED, }; /* @@ -1731,6 +1741,7 @@ static const struct of_device_id sysc_match[] = { { .compatible = "ti,sysc-omap3-sham", .data = &sysc_omap3_sham, }, { .compatible = "ti,sysc-omap-aes", .data = &sysc_omap3_aes, }, { .compatible = "ti,sysc-mcasp", .data = &sysc_omap4_mcasp, }, + { .compatible = "ti,sysc-dra7-mcasp", .data = &sysc_dra7_mcasp, }, { .compatible = "ti,sysc-usb-host-fs", .data = &sysc_omap4_usb_host_fs, }, { .compatible = "ti,sysc-dra7-mcan", .data = &sysc_dra7_mcan, }, -- 2.19.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] bus: ti-sysc: Add mcasp optional clocks flag 2018-11-15 22:02 ` [PATCH 2/2] bus: ti-sysc: Add mcasp optional clocks flag Tony Lindgren @ 2018-11-15 22:07 ` Tony Lindgren 0 siblings, 0 replies; 4+ messages in thread From: Tony Lindgren @ 2018-11-15 22:07 UTC (permalink / raw) To: linux-omap Cc: Dave Gerlach, Faiz Abbas, Greg Kroah-Hartman, Keerthy, Nishanth Menon, Suman Anna, Tero Kristo, linux-kernel, linux-arm-kernel, Mark Rutland, Rob Herring * Tony Lindgren <tony@atomide.com> [181115 22:03]: > We have OPT_CLKS_NEEDED in legacy platform data, but it's missing > from the ti-sysc driver for device tree based configuration. > > In order to pass OPT_CLKS_NEEDED quirk flag we need to update omap4 module > data and add a new compatible for dra7 as the module layout is different > from sysc_regbits_omap4_mcasp. And below is the related dts change for dra7. Regards, Tony 8< ----------------- >From tony Mon Sep 17 00:00:00 2001 From: Tony Lindgren <tony@atomide.com> Date: Wed, 31 Oct 2018 09:02:18 -0700 Subject: [PATCH] ARM: dts: Use dra7 mcasp compatible for mcasp instances Looks like dra7 needs optional clocks enabled for mcasp unlike am33xx and am437x do. Signed-off-by: Tony Lindgren <tony@atomide.com> --- arch/arm/boot/dts/dra7-l4.dtsi | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/arm/boot/dts/dra7-l4.dtsi b/arch/arm/boot/dts/dra7-l4.dtsi --- a/arch/arm/boot/dts/dra7-l4.dtsi +++ b/arch/arm/boot/dts/dra7-l4.dtsi @@ -2718,7 +2718,7 @@ }; target-module@60000 { /* 0x48460000, ap 9 0e.0 */ - compatible = "ti,sysc-omap4-simple", "ti,sysc"; + compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; ti,hwmods = "mcasp1"; reg = <0x60000 0x4>, <0x60004 0x4>; @@ -2752,7 +2752,7 @@ }; target-module@64000 { /* 0x48464000, ap 11 1e.0 */ - compatible = "ti,sysc-omap4-simple", "ti,sysc"; + compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; ti,hwmods = "mcasp2"; reg = <0x64000 0x4>, <0x64004 0x4>; @@ -2786,7 +2786,7 @@ }; target-module@68000 { /* 0x48468000, ap 13 26.0 */ - compatible = "ti,sysc-omap4-simple", "ti,sysc"; + compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; ti,hwmods = "mcasp3"; reg = <0x68000 0x4>, <0x68004 0x4>; @@ -2819,7 +2819,7 @@ }; target-module@6c000 { /* 0x4846c000, ap 15 2e.0 */ - compatible = "ti,sysc-omap4-simple", "ti,sysc"; + compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; ti,hwmods = "mcasp4"; reg = <0x6c000 0x4>, <0x6c004 0x4>; @@ -2852,7 +2852,7 @@ }; target-module@70000 { /* 0x48470000, ap 19 36.0 */ - compatible = "ti,sysc-omap4-simple", "ti,sysc"; + compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; ti,hwmods = "mcasp5"; reg = <0x70000 0x4>, <0x70004 0x4>; @@ -2885,7 +2885,7 @@ }; target-module@74000 { /* 0x48474000, ap 35 14.0 */ - compatible = "ti,sysc-omap4-simple", "ti,sysc"; + compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; ti,hwmods = "mcasp6"; reg = <0x74000 0x4>, <0x74004 0x4>; @@ -2918,7 +2918,7 @@ }; target-module@78000 { /* 0x48478000, ap 39 0c.0 */ - compatible = "ti,sysc-omap4-simple", "ti,sysc"; + compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; ti,hwmods = "mcasp7"; reg = <0x78000 0x4>, <0x78004 0x4>; @@ -2951,7 +2951,7 @@ }; target-module@7c000 { /* 0x4847c000, ap 43 04.0 */ - compatible = "ti,sysc-omap4-simple", "ti,sysc"; + compatible = "ti,sysc-dra7-mcasp", "ti,sysc"; ti,hwmods = "mcasp8"; reg = <0x7c000 0x4>, <0x7c004 0x4>; -- 2.19.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-11-15 22:07 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-11-15 22:02 [PATCH 0/2] Two non-urgent ti-sysc driver fixes Tony Lindgren 2018-11-15 22:02 ` [PATCH 1/2] bus: ti-sysc: Fix getting optional clocks in clock_roles Tony Lindgren 2018-11-15 22:02 ` [PATCH 2/2] bus: ti-sysc: Add mcasp optional clocks flag Tony Lindgren 2018-11-15 22:07 ` Tony Lindgren
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).