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
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
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
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.
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]>
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!