From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752734AbcG2VY7 (ORCPT ); Fri, 29 Jul 2016 17:24:59 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:33803 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751529AbcG2VYw convert rfc822-to-8bit (ORCPT ); Fri, 29 Jul 2016 17:24:52 -0400 MIME-Version: 1.0 In-Reply-To: <20160729131513.GB13080@leverpostej> References: <1469797120-29298-1-git-send-email-zajec5@gmail.com> <20160729131513.GB13080@leverpostej> From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Date: Fri, 29 Jul 2016 23:24:50 +0200 Message-ID: Subject: Re: [PATCH] clk: bcm: Add driver for Northstar ILP clock To: Mark Rutland Cc: Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org, bcm-kernel-feedback-list , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Rob Herring , Pawel Moll , Ian Campbell , Kumar Gala , Florian Fainelli , Jon Mason , Eric Anholt , Stephen Warren , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , open list Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 29 July 2016 at 15:15, Mark Rutland wrote: > On Fri, Jul 29, 2016 at 02:58:32PM +0200, Rafał Miłecki wrote: >> From: Rafał Miłecki >> >> This clock is present on cheaper Northstar devices like BCM53573 or >> BCM47189 using Corex-A7. This driver uses PMU (Power Management Unit) >> to calculate clock rate and allows using it in a generic (clk_*) way. >> >> Signed-off-by: Rafał Miłecki >> --- >> .../devicetree/bindings/clock/brcm,ns-ilp.txt | 28 ++++ >> drivers/clk/bcm/Makefile | 1 + >> drivers/clk/bcm/clk-ns-ilp.c | 146 +++++++++++++++++++++ >> 3 files changed, 175 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt >> create mode 100644 drivers/clk/bcm/clk-ns-ilp.c >> >> diff --git a/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt b/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt >> new file mode 100644 >> index 0000000..c4df38e >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt >> @@ -0,0 +1,28 @@ >> +Broadcom Northstar ILP clock >> +============================ >> + >> +This binding uses the common clock binding: >> + Documentation/devicetree/bindings/clock/clock-bindings.txt >> + >> +This binding is used for ILP clock on Broadcom Northstar devices using >> +Corex-A7 CPU. ILP clock depends on ALP one and has to be calculated on >> +runtime. >> + >> +Required properties: >> +- compatible: "brcm,ns-ilp" >> +- reg: iomem address range of PMU (Power Management Unit) >> +- reg-names: "pmu", the only needed & supported reg right now > > From the commit message and binding description, it sounds like there > should be a binding for the PMU, and that should cover the clocks > required/exported by the PMU. This is a bit of problem, because PMU handles a lot of different stuff and is used by various drivers. Some examples of what you can do with/find on a PMU: 1) Power management 2) Watchdog 3) Timer 4) XTAL 5) PLLs 6) Control registers for some ARM debugging (whatever it is), UART, JTAG, more PMU is used by different drivers, e.g.: 1) Ethernet driver 2) Wireless driver 3) NAND controller driver I don't have access to Broadcom's datasheets so unfortunately I can't provide all details. >> +- clocks: should reference an ALP clock >> +- clock-names: "alp", the only needed & supported clock right now >> +- #clock-cells: should be <0> > > How many clocks does the PMU output, including the ILP clock? Well, ALP clock (AKA XTAL clock) is definitely part of PMU. It's a fixed rate clock with rate specific to the chip. I think ILP is also part of PMU (again: I don't have datasheets) as PMU has this ALP_PER_4ILP register. >>From Broadcom's SDK I can say they also have "ARM debug unit" on some chipsets. It requires enabling "ARM debug clk" to operate which is handled by PMU as well. -- Rafał From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Subject: Re: [PATCH] clk: bcm: Add driver for Northstar ILP clock Date: Fri, 29 Jul 2016 23:24:50 +0200 Message-ID: References: <1469797120-29298-1-git-send-email-zajec5@gmail.com> <20160729131513.GB13080@leverpostej> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <20160729131513.GB13080@leverpostej> Sender: linux-clk-owner@vger.kernel.org To: Mark Rutland Cc: Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org, bcm-kernel-feedback-list , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Rob Herring , Pawel Moll , Ian Campbell , Kumar Gala , Florian Fainelli , Jon Mason , Eric Anholt , Stephen Warren , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , open list List-Id: devicetree@vger.kernel.org On 29 July 2016 at 15:15, Mark Rutland wrote: > On Fri, Jul 29, 2016 at 02:58:32PM +0200, Rafa=C5=82 Mi=C5=82ecki wro= te: >> From: Rafa=C5=82 Mi=C5=82ecki >> >> This clock is present on cheaper Northstar devices like BCM53573 or >> BCM47189 using Corex-A7. This driver uses PMU (Power Management Unit= ) >> to calculate clock rate and allows using it in a generic (clk_*) way= =2E >> >> Signed-off-by: Rafa=C5=82 Mi=C5=82ecki >> --- >> .../devicetree/bindings/clock/brcm,ns-ilp.txt | 28 ++++ >> drivers/clk/bcm/Makefile | 1 + >> drivers/clk/bcm/clk-ns-ilp.c | 146 ++++++++++= +++++++++++ >> 3 files changed, 175 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/clock/brcm,ns-= ilp.txt >> create mode 100644 drivers/clk/bcm/clk-ns-ilp.c >> >> diff --git a/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt= b/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt >> new file mode 100644 >> index 0000000..c4df38e >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt >> @@ -0,0 +1,28 @@ >> +Broadcom Northstar ILP clock >> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >> + >> +This binding uses the common clock binding: >> + Documentation/devicetree/bindings/clock/clock-bindings.txt >> + >> +This binding is used for ILP clock on Broadcom Northstar devices us= ing >> +Corex-A7 CPU. ILP clock depends on ALP one and has to be calculated= on >> +runtime. >> + >> +Required properties: >> +- compatible: "brcm,ns-ilp" >> +- reg: iomem address range of PMU (Power Management Unit) >> +- reg-names: "pmu", the only needed & supported reg right now > > From the commit message and binding description, it sounds like there > should be a binding for the PMU, and that should cover the clocks > required/exported by the PMU. This is a bit of problem, because PMU handles a lot of different stuff and is used by various drivers. Some examples of what you can do with/find on a PMU: 1) Power management 2) Watchdog 3) Timer 4) XTAL 5) PLLs 6) Control registers for some ARM debugging (whatever it is), UART, JTA= G, more PMU is used by different drivers, e.g.: 1) Ethernet driver 2) Wireless driver 3) NAND controller driver I don't have access to Broadcom's datasheets so unfortunately I can't provide all details. >> +- clocks: should reference an ALP clock >> +- clock-names: "alp", the only needed & supported clock right now >> +- #clock-cells: should be <0> > > How many clocks does the PMU output, including the ILP clock? Well, ALP clock (AKA XTAL clock) is definitely part of PMU. It's a fixed rate clock with rate specific to the chip. I think ILP is also part of PMU (again: I don't have datasheets) as PMU has this ALP_PER_4ILP register. =46rom Broadcom's SDK I can say they also have "ARM debug unit" on some chipsets. It requires enabling "ARM debug clk" to operate which is handled by PMU as well. --=20 Rafa=C5=82 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 In-Reply-To: <20160729131513.GB13080@leverpostej> References: <1469797120-29298-1-git-send-email-zajec5@gmail.com> <20160729131513.GB13080@leverpostej> From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Date: Fri, 29 Jul 2016 23:24:50 +0200 Message-ID: Subject: Re: [PATCH] clk: bcm: Add driver for Northstar ILP clock To: Mark Rutland Cc: Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org, bcm-kernel-feedback-list , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Rob Herring , Pawel Moll , Ian Campbell , Kumar Gala , Florian Fainelli , Jon Mason , Eric Anholt , Stephen Warren , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , open list Content-Type: text/plain; charset=UTF-8 List-ID: On 29 July 2016 at 15:15, Mark Rutland wrote: > On Fri, Jul 29, 2016 at 02:58:32PM +0200, Rafa=C5=82 Mi=C5=82ecki wrote: >> From: Rafa=C5=82 Mi=C5=82ecki >> >> This clock is present on cheaper Northstar devices like BCM53573 or >> BCM47189 using Corex-A7. This driver uses PMU (Power Management Unit) >> to calculate clock rate and allows using it in a generic (clk_*) way. >> >> Signed-off-by: Rafa=C5=82 Mi=C5=82ecki >> --- >> .../devicetree/bindings/clock/brcm,ns-ilp.txt | 28 ++++ >> drivers/clk/bcm/Makefile | 1 + >> drivers/clk/bcm/clk-ns-ilp.c | 146 ++++++++++++++= +++++++ >> 3 files changed, 175 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/clock/brcm,ns-ilp.= txt >> create mode 100644 drivers/clk/bcm/clk-ns-ilp.c >> >> diff --git a/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt b/D= ocumentation/devicetree/bindings/clock/brcm,ns-ilp.txt >> new file mode 100644 >> index 0000000..c4df38e >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/clock/brcm,ns-ilp.txt >> @@ -0,0 +1,28 @@ >> +Broadcom Northstar ILP clock >> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D >> + >> +This binding uses the common clock binding: >> + Documentation/devicetree/bindings/clock/clock-bindings.txt >> + >> +This binding is used for ILP clock on Broadcom Northstar devices using >> +Corex-A7 CPU. ILP clock depends on ALP one and has to be calculated on >> +runtime. >> + >> +Required properties: >> +- compatible: "brcm,ns-ilp" >> +- reg: iomem address range of PMU (Power Management Unit) >> +- reg-names: "pmu", the only needed & supported reg right now > > From the commit message and binding description, it sounds like there > should be a binding for the PMU, and that should cover the clocks > required/exported by the PMU. This is a bit of problem, because PMU handles a lot of different stuff and is used by various drivers. Some examples of what you can do with/find on a PMU: 1) Power management 2) Watchdog 3) Timer 4) XTAL 5) PLLs 6) Control registers for some ARM debugging (whatever it is), UART, JTAG, m= ore PMU is used by different drivers, e.g.: 1) Ethernet driver 2) Wireless driver 3) NAND controller driver I don't have access to Broadcom's datasheets so unfortunately I can't provide all details. >> +- clocks: should reference an ALP clock >> +- clock-names: "alp", the only needed & supported clock right now >> +- #clock-cells: should be <0> > > How many clocks does the PMU output, including the ILP clock? Well, ALP clock (AKA XTAL clock) is definitely part of PMU. It's a fixed rate clock with rate specific to the chip. I think ILP is also part of PMU (again: I don't have datasheets) as PMU has this ALP_PER_4ILP register. >>From Broadcom's SDK I can say they also have "ARM debug unit" on some chipsets. It requires enabling "ARM debug clk" to operate which is handled by PMU as well. --=20 Rafa=C5=82