2021-12-02 06:12:15

by Ivan Bornyakov

[permalink] [raw]
Subject: [PATCH v3 0/2] bus: imx-weim: optionally enable continuous burst clock

Introduce option to enable continuous burst clock, if burst clock itself
is enabled.

Changelog:
v1 -> v2:
* documentation about this option added to
Documentation/devicetree/bindings/bus/imx-weim.txt
v2 -> v3:
* added missing Signed-off-by line


Ivan Bornyakov (2):
bus: imx-weim: optionally enable continuous burst clock
dt-bindings: bus: imx-weim: add words about continuous bclk

.../devicetree/bindings/bus/imx-weim.txt | 5 +++++
drivers/bus/imx-weim.c | 18 ++++++++++++++++--
2 files changed, 21 insertions(+), 2 deletions(-)

--
2.32.0




2021-12-02 06:12:21

by Ivan Bornyakov

[permalink] [raw]
Subject: [PATCH v3 2/2] dt-bindings: bus: imx-weim: add words about continuous bclk

Document continuous Burst Clock option. With this option Burst Clock, if
enabled, will output continuous clock, otherwise Burst Clock will output
clock only when necessary.

Signed-off-by: Ivan Bornyakov <[email protected]>
---
Documentation/devicetree/bindings/bus/imx-weim.txt | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/bus/imx-weim.txt b/Documentation/devicetree/bindings/bus/imx-weim.txt
index 1b1d1c5c21ea..e7f502070d77 100644
--- a/Documentation/devicetree/bindings/bus/imx-weim.txt
+++ b/Documentation/devicetree/bindings/bus/imx-weim.txt
@@ -48,6 +48,11 @@ Optional properties:
devices, the presence of this property indicates that
the weim bus should operate in Burst Clock Mode.

+ - fsl,continuous-burst-clk Make Burst Clock to output continuous clock.
+ Without this option Burst Clock will output clock
+ only when necessary. This takes effect only if
+ "fsl,burst-clk-enable" is set.
+
Timing property for child nodes. It is mandatory, not optional.

- fsl,weim-cs-timing: The timing array, contains timing values for the
--
2.32.0



2021-12-02 06:12:31

by Ivan Bornyakov

[permalink] [raw]
Subject: [PATCH v3 1/2] bus: imx-weim: optionally enable continuous burst clock

To enable continuous burst clock, add "fsl,continuous-burst-clk" along
with "fsl,burst-clk-enable" property to the weim bus's devicetree node.

Example:
weim: weim@21b8000 {
compatible = "fsl,imx6ul-weim", "fsl,imx6q-weim";
reg = <0x021b8000 0x4000>;
clocks = <&clks 143>;
#address-cells = <2>;
#size-cells = <1>;
ranges = <0 0 0x50000000 0x08000000>;
fsl,weim-cs-gpr = <&gpr>;
fsl,burst-clk-enable;
fsl,continuous-burst-clk;

client-device@0 {
...
};
};

Signed-off-by: Ivan Bornyakov <[email protected]>
---
drivers/bus/imx-weim.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/imx-weim.c b/drivers/bus/imx-weim.c
index 28bb65a5613f..bccb275b65ba 100644
--- a/drivers/bus/imx-weim.c
+++ b/drivers/bus/imx-weim.c
@@ -21,6 +21,7 @@ struct imx_weim_devtype {
unsigned int cs_stride;
unsigned int wcr_offset;
unsigned int wcr_bcm;
+ unsigned int wcr_cont_bclk;
};

static const struct imx_weim_devtype imx1_weim_devtype = {
@@ -41,6 +42,7 @@ static const struct imx_weim_devtype imx50_weim_devtype = {
.cs_stride = 0x18,
.wcr_offset = 0x90,
.wcr_bcm = BIT(0),
+ .wcr_cont_bclk = BIT(3),
};

static const struct imx_weim_devtype imx51_weim_devtype = {
@@ -206,8 +208,20 @@ static int weim_parse_dt(struct platform_device *pdev, void __iomem *base)
if (of_property_read_bool(pdev->dev.of_node, "fsl,burst-clk-enable")) {
if (devtype->wcr_bcm) {
reg = readl(base + devtype->wcr_offset);
- writel(reg | devtype->wcr_bcm,
- base + devtype->wcr_offset);
+ reg |= devtype->wcr_bcm;
+
+ if (of_property_read_bool(pdev->dev.of_node,
+ "fsl,continuous-burst-clk")) {
+ if (devtype->wcr_cont_bclk) {
+ reg |= devtype->wcr_cont_bclk;
+ } else {
+ dev_err(&pdev->dev,
+ "continuous burst clk not supported.\n");
+ return -EINVAL;
+ }
+ }
+
+ writel(reg, base + devtype->wcr_offset);
} else {
dev_err(&pdev->dev, "burst clk mode not supported.\n");
return -EINVAL;
--
2.32.0



2021-12-09 06:11:15

by Ivan Bornyakov

[permalink] [raw]
Subject: Re: [PATCH v3 0/2] bus: imx-weim: optionally enable continuous burst clock

On Thu, Dec 02, 2021 at 08:57:22AM +0300, Ivan Bornyakov wrote:
> Introduce option to enable continuous burst clock, if burst clock itself
> is enabled.
>
> Changelog:
> v1 -> v2:
> * documentation about this option added to
> Documentation/devicetree/bindings/bus/imx-weim.txt
> v2 -> v3:
> * added missing Signed-off-by line
>
>
> Ivan Bornyakov (2):
> bus: imx-weim: optionally enable continuous burst clock
> dt-bindings: bus: imx-weim: add words about continuous bclk
>
> .../devicetree/bindings/bus/imx-weim.txt | 5 +++++
> drivers/bus/imx-weim.c | 18 ++++++++++++++++--
> 2 files changed, 21 insertions(+), 2 deletions(-)
>
> --
> 2.32.0
>

Kindly ping.


2021-12-10 22:13:56

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 2/2] dt-bindings: bus: imx-weim: add words about continuous bclk

On Thu, 02 Dec 2021 08:57:24 +0300, Ivan Bornyakov wrote:
> Document continuous Burst Clock option. With this option Burst Clock, if
> enabled, will output continuous clock, otherwise Burst Clock will output
> clock only when necessary.
>
> Signed-off-by: Ivan Bornyakov <[email protected]>
> ---
> Documentation/devicetree/bindings/bus/imx-weim.txt | 5 +++++
> 1 file changed, 5 insertions(+)
>

Reviewed-by: Rob Herring <[email protected]>

2021-12-14 02:36:07

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v3 0/2] bus: imx-weim: optionally enable continuous burst clock

On Thu, Dec 02, 2021 at 08:57:22AM +0300, Ivan Bornyakov wrote:
> Introduce option to enable continuous burst clock, if burst clock itself
> is enabled.
>
> Changelog:
> v1 -> v2:
> * documentation about this option added to
> Documentation/devicetree/bindings/bus/imx-weim.txt
> v2 -> v3:
> * added missing Signed-off-by line
>
>
> Ivan Bornyakov (2):
> bus: imx-weim: optionally enable continuous burst clock
> dt-bindings: bus: imx-weim: add words about continuous bclk

Applied both, thanks!