From mboxrd@z Thu Jan 1 00:00:00 1970 From: b.brezillon@overkiz.com (boris brezillon) Date: Mon, 02 Dec 2013 12:43:01 +0100 Subject: [PATCH v6 00/16] ARM: at91: move to common clk framework In-Reply-To: <20131130230549.16819.84161@quantum> References: <1385642184-6467-1-git-send-email-b.brezillon@overkiz.com> <20131130230549.16819.84161@quantum> Message-ID: <529C7245.5010409@overkiz.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Mike, Le 01/12/2013 00:05, Mike Turquette a ?crit : > Quoting Boris BREZILLON (2013-11-28 04:36:24) >> Hello, >> >> This patch series is the 5th version of the at91 clk implementations >> using the Common Clk Framework. > Oops, I just replied to v5 of this series. Thanks for the fixes. Which > tree do you want this to go through? I'm not sure: the "ARM: at91: move to common clk framework" series depends on this one. Nicolas, what do you think ? Do you want to take it into your tree ? > Regards, > Mike > >> Most of the clock provided by the PMC (Power Management Controller) are >> implemented : >> - main clock (main oscillator) >> - pll clocks >> - master clock >> - programmable clocks >> - utmi clock >> - peripheral clocks >> - system clocks >> >> Actually some clk drivers are missing (slow clk, main clk and processor >> clk), and some drivers only implement a subset of the hardware capabilities >> (master clk rate change is missing). >> But this series implements all the already available clks, and I will hopefully >> add missing features in a near future. >> >> This implementation is only compatible with device tree definition. >> The goal is to define the whole clock tree using the device tree. >> >> Just a note to let you know these bindings are currently unstable and might >> change in the future. >> >> >> Best Regards, >> Boris >> >> Changes since v5: >> - remove peripheral divisors macros from dt binding include file >> - remove file path from comment blocks >> - replace pll and utmi disable function by unprepare function to >> avoid issue when disabling and reenabling a clk >> - fix programmable clk interrupt retrieval >> - fix OF_CLK_DECLARE names (xxx_clk_main -> xxx_clk_pmc) >> - add missing comma in at91rm9200 main clk dt declaration >> - fix num_parents check in smd clk driver >> >> Changes since v4: >> - rework dt bindings: >> * replace "atmel,clk-id" property by the standard "reg" property >> * reference system, peripheral and programmable clks using the direct >> clk node instead of the parent node plus a clk id >> - provide a new helper function (of_at91_get_clk_range) to retrieve a clk >> range from the device tree >> >> Changes since v3: >> - simplify master clk implementation (drop set_rate/parent support) >> - fix bug in set_rate function of pll driver >> - fix coding style issues >> - define macros and constants where needed >> - remove peripheral id macro references >> - remove sam9g35 specific handling (sam9g35 = sam9x5) >> - rework main clk prepare function to handle automatic rate calculation >> >> Changes since v2: >> - fix several bugs in clk implementations >> - drop non-dt boards support >> - split the series to ease review and tests: >> * 1 patch series for new clk implementations (this series) >> * 1 patch series to move each at91 SoC to common clk framework (coming soon) >> - modify dt-bindings (add atmel,clk- prefix to atmel specific properties) >> - add clk macros for dt-bindings >> - add pmc framework (helper function to access pmc registers) >> - add interrupt support to enable passive wait in clk_prepare functions >> >> Changes since v1: >> - fix bugs in pll, programmable and system clock implementations >> (wrong bit position). >> - add usb clock configuration support (ohci and udc drivers + >> clk_lookup for non dt boards) >> - rework of the system clock interfaces (no need to define a parent clock, >> system clock is a gate with no rate info) >> - change system, peripheral and programmable clk dt bindings (1 master node >> and multiple child nodes each defining a system/peripheral or prog clock) >> - fix bugs in sama5 dt definition >> >> Boris BREZILLON (16): >> ARM: at91: move at91_pmc.h to include/linux/clk/at91_pmc.h >> ARM: at91: add Kconfig options for common clk support >> clk: at91: add PMC base support >> clk: at91: add PMC macro file for dt definitions >> clk: at91: add PMC main clock >> clk: at91: add PMC pll clocks >> clk: at91: add PMC master clock >> clk: at91: add PMC system clocks >> clk: at91: add PMC peripheral clocks >> clk: at91: add PMC programmable clocks >> clk: at91: add PMC utmi clock >> clk: at91: add PMC usb clock >> clk: at91: add PMC smd clock >> dt: binding: add at91 clks dt bindings documentation >> ARM: at91: move pit timer to common clk framework >> ARM: at91: add new compatible strings for pmc driver >> >> .../devicetree/bindings/clock/at91-clock.txt | 339 +++++++++++++ >> arch/arm/mach-at91/Kconfig | 44 ++ >> arch/arm/mach-at91/Kconfig.non_dt | 6 + >> arch/arm/mach-at91/Makefile | 2 +- >> arch/arm/mach-at91/at91rm9200.c | 2 +- >> arch/arm/mach-at91/at91sam9260.c | 2 +- >> arch/arm/mach-at91/at91sam9261.c | 2 +- >> arch/arm/mach-at91/at91sam9263.c | 2 +- >> arch/arm/mach-at91/at91sam926x_time.c | 14 +- >> arch/arm/mach-at91/at91sam9g45.c | 2 +- >> arch/arm/mach-at91/at91sam9n12.c | 2 +- >> arch/arm/mach-at91/at91sam9rl.c | 2 +- >> arch/arm/mach-at91/at91sam9x5.c | 2 +- >> arch/arm/mach-at91/clock.c | 7 +- >> arch/arm/mach-at91/generic.h | 3 +- >> arch/arm/mach-at91/pm.c | 2 +- >> arch/arm/mach-at91/pm_slowclock.S | 2 +- >> arch/arm/mach-at91/sama5d3.c | 2 +- >> arch/arm/mach-at91/setup.c | 8 +- >> drivers/clk/Makefile | 1 + >> drivers/clk/at91/Makefile | 12 + >> drivers/clk/at91/clk-main.c | 187 +++++++ >> drivers/clk/at91/clk-master.c | 270 ++++++++++ >> drivers/clk/at91/clk-peripheral.c | 410 +++++++++++++++ >> drivers/clk/at91/clk-pll.c | 531 ++++++++++++++++++++ >> drivers/clk/at91/clk-plldiv.c | 135 +++++ >> drivers/clk/at91/clk-programmable.c | 366 ++++++++++++++ >> drivers/clk/at91/clk-smd.c | 171 +++++++ >> drivers/clk/at91/clk-system.c | 135 +++++ >> drivers/clk/at91/clk-usb.c | 398 +++++++++++++++ >> drivers/clk/at91/clk-utmi.c | 159 ++++++ >> drivers/clk/at91/pmc.c | 397 +++++++++++++++ >> drivers/clk/at91/pmc.h | 116 +++++ >> drivers/usb/gadget/atmel_usba_udc.c | 2 +- >> include/dt-bindings/clk/at91.h | 22 + >> .../include/mach => include/linux/clk}/at91_pmc.h | 4 +- >> 36 files changed, 3741 insertions(+), 20 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/clock/at91-clock.txt >> create mode 100644 drivers/clk/at91/Makefile >> create mode 100644 drivers/clk/at91/clk-main.c >> create mode 100644 drivers/clk/at91/clk-master.c >> create mode 100644 drivers/clk/at91/clk-peripheral.c >> create mode 100644 drivers/clk/at91/clk-pll.c >> create mode 100644 drivers/clk/at91/clk-plldiv.c >> create mode 100644 drivers/clk/at91/clk-programmable.c >> create mode 100644 drivers/clk/at91/clk-smd.c >> create mode 100644 drivers/clk/at91/clk-system.c >> create mode 100644 drivers/clk/at91/clk-usb.c >> create mode 100644 drivers/clk/at91/clk-utmi.c >> create mode 100644 drivers/clk/at91/pmc.c >> create mode 100644 drivers/clk/at91/pmc.h >> create mode 100644 include/dt-bindings/clk/at91.h >> rename {arch/arm/mach-at91/include/mach => include/linux/clk}/at91_pmc.h (98%) >> >> -- >> 1.7.9.5 From mboxrd@z Thu Jan 1 00:00:00 1970 From: boris brezillon Subject: Re: [PATCH v6 00/16] ARM: at91: move to common clk framework Date: Mon, 02 Dec 2013 12:43:01 +0100 Message-ID: <529C7245.5010409@overkiz.com> References: <1385642184-6467-1-git-send-email-b.brezillon@overkiz.com> <20131130230549.16819.84161@quantum> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20131130230549.16819.84161@quantum> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Mike Turquette , Nicolas Ferre , Russell King , Felipe Balbi , Jason Cooper Cc: devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org List-Id: devicetree@vger.kernel.org SGkgTWlrZSwKCkxlIDAxLzEyLzIwMTMgMDA6MDUsIE1pa2UgVHVycXVldHRlIGEgw6ljcml0IDoK PiBRdW90aW5nIEJvcmlzIEJSRVpJTExPTiAoMjAxMy0xMS0yOCAwNDozNjoyNCkKPj4gSGVsbG8s Cj4+Cj4+IFRoaXMgcGF0Y2ggc2VyaWVzIGlzIHRoZSA1dGggdmVyc2lvbiBvZiB0aGUgYXQ5MSBj bGsgaW1wbGVtZW50YXRpb25zCj4+IHVzaW5nIHRoZSBDb21tb24gQ2xrIEZyYW1ld29yay4KPiBP b3BzLCBJIGp1c3QgcmVwbGllZCB0byB2NSBvZiB0aGlzIHNlcmllcy4gVGhhbmtzIGZvciB0aGUg Zml4ZXMuIFdoaWNoCj4gdHJlZSBkbyB5b3Ugd2FudCB0aGlzIHRvIGdvIHRocm91Z2g/CgpJJ20g bm90IHN1cmU6IHRoZSAiQVJNOiBhdDkxOiBtb3ZlIHRvIGNvbW1vbiBjbGsgZnJhbWV3b3JrIiBz ZXJpZXMKZGVwZW5kcyBvbiB0aGlzIG9uZS4KCk5pY29sYXMsIHdoYXQgZG8geW91IHRoaW5rID8K RG8geW91IHdhbnQgdG8gdGFrZSBpdCBpbnRvIHlvdXIgdHJlZSA/Cgo+IFJlZ2FyZHMsCj4gTWlr ZQo+Cj4+IE1vc3Qgb2YgdGhlIGNsb2NrIHByb3ZpZGVkIGJ5IHRoZSBQTUMgKFBvd2VyIE1hbmFn ZW1lbnQgQ29udHJvbGxlcikgYXJlCj4+IGltcGxlbWVudGVkIDoKPj4gLSBtYWluIGNsb2NrICht YWluIG9zY2lsbGF0b3IpCj4+IC0gcGxsIGNsb2Nrcwo+PiAtIG1hc3RlciBjbG9jawo+PiAtIHBy b2dyYW1tYWJsZSBjbG9ja3MKPj4gLSB1dG1pIGNsb2NrCj4+IC0gcGVyaXBoZXJhbCBjbG9ja3MK Pj4gLSBzeXN0ZW0gY2xvY2tzCj4+Cj4+IEFjdHVhbGx5IHNvbWUgY2xrIGRyaXZlcnMgYXJlIG1p c3NpbmcgKHNsb3cgY2xrLCBtYWluIGNsayBhbmQgcHJvY2Vzc29yCj4+IGNsayksIGFuZCBzb21l IGRyaXZlcnMgb25seSBpbXBsZW1lbnQgYSBzdWJzZXQgb2YgdGhlIGhhcmR3YXJlIGNhcGFiaWxp dGllcwo+PiAobWFzdGVyIGNsayByYXRlIGNoYW5nZSBpcyBtaXNzaW5nKS4KPj4gQnV0IHRoaXMg c2VyaWVzIGltcGxlbWVudHMgYWxsIHRoZSBhbHJlYWR5IGF2YWlsYWJsZSBjbGtzLCBhbmQgSSB3 aWxsIGhvcGVmdWxseQo+PiBhZGQgbWlzc2luZyBmZWF0dXJlcyBpbiBhIG5lYXIgZnV0dXJlLgo+ Pgo+PiBUaGlzIGltcGxlbWVudGF0aW9uIGlzIG9ubHkgY29tcGF0aWJsZSB3aXRoIGRldmljZSB0 cmVlIGRlZmluaXRpb24uCj4+IFRoZSBnb2FsIGlzIHRvIGRlZmluZSB0aGUgd2hvbGUgY2xvY2sg dHJlZSB1c2luZyB0aGUgZGV2aWNlIHRyZWUuCj4+Cj4+IEp1c3QgYSBub3RlIHRvIGxldCB5b3Ug a25vdyB0aGVzZSBiaW5kaW5ncyBhcmUgY3VycmVudGx5IHVuc3RhYmxlIGFuZCBtaWdodAo+PiBj aGFuZ2UgaW4gdGhlIGZ1dHVyZS4KPj4KPj4KPj4gQmVzdCBSZWdhcmRzLAo+PiBCb3Jpcwo+Pgo+ PiBDaGFuZ2VzIHNpbmNlIHY1Ogo+PiAgIC0gcmVtb3ZlIHBlcmlwaGVyYWwgZGl2aXNvcnMgbWFj cm9zIGZyb20gZHQgYmluZGluZyBpbmNsdWRlIGZpbGUKPj4gICAtIHJlbW92ZSBmaWxlIHBhdGgg ZnJvbSBjb21tZW50IGJsb2Nrcwo+PiAgIC0gcmVwbGFjZSBwbGwgYW5kIHV0bWkgZGlzYWJsZSBm dW5jdGlvbiBieSB1bnByZXBhcmUgZnVuY3Rpb24gdG8KPj4gICAgIGF2b2lkIGlzc3VlIHdoZW4g ZGlzYWJsaW5nIGFuZCByZWVuYWJsaW5nIGEgY2xrCj4+ICAgLSBmaXggcHJvZ3JhbW1hYmxlIGNs ayBpbnRlcnJ1cHQgcmV0cmlldmFsCj4+ICAgLSBmaXggT0ZfQ0xLX0RFQ0xBUkUgbmFtZXMgKHh4 eF9jbGtfbWFpbiAtPiB4eHhfY2xrX3BtYykKPj4gICAtIGFkZCBtaXNzaW5nIGNvbW1hIGluIGF0 OTFybTkyMDAgbWFpbiBjbGsgZHQgZGVjbGFyYXRpb24KPj4gICAtIGZpeCBudW1fcGFyZW50cyBj aGVjayBpbiBzbWQgY2xrIGRyaXZlcgo+Pgo+PiBDaGFuZ2VzIHNpbmNlIHY0Ogo+PiAgIC0gcmV3 b3JrIGR0IGJpbmRpbmdzOgo+PiAgICAgKiByZXBsYWNlICJhdG1lbCxjbGstaWQiIHByb3BlcnR5 IGJ5IHRoZSBzdGFuZGFyZCAicmVnIiBwcm9wZXJ0eQo+PiAgICAgKiByZWZlcmVuY2Ugc3lzdGVt LCBwZXJpcGhlcmFsIGFuZCBwcm9ncmFtbWFibGUgY2xrcyB1c2luZyB0aGUgZGlyZWN0Cj4+ICAg ICAgIGNsayBub2RlIGluc3RlYWQgb2YgdGhlIHBhcmVudCBub2RlIHBsdXMgYSBjbGsgaWQKPj4g ICAtIHByb3ZpZGUgYSBuZXcgaGVscGVyIGZ1bmN0aW9uIChvZl9hdDkxX2dldF9jbGtfcmFuZ2Up IHRvIHJldHJpZXZlIGEgY2xrCj4+ICAgICByYW5nZSBmcm9tIHRoZSBkZXZpY2UgdHJlZQo+Pgo+ PiBDaGFuZ2VzIHNpbmNlIHYzOgo+PiAgIC0gc2ltcGxpZnkgbWFzdGVyIGNsayBpbXBsZW1lbnRh dGlvbiAoZHJvcCBzZXRfcmF0ZS9wYXJlbnQgc3VwcG9ydCkKPj4gICAtIGZpeCBidWcgaW4gc2V0 X3JhdGUgZnVuY3Rpb24gb2YgcGxsIGRyaXZlcgo+PiAgIC0gZml4IGNvZGluZyBzdHlsZSBpc3N1 ZXMKPj4gICAtIGRlZmluZSBtYWNyb3MgYW5kIGNvbnN0YW50cyB3aGVyZSBuZWVkZWQKPj4gICAt IHJlbW92ZSBwZXJpcGhlcmFsIGlkIG1hY3JvIHJlZmVyZW5jZXMKPj4gICAtIHJlbW92ZSBzYW05 ZzM1IHNwZWNpZmljIGhhbmRsaW5nIChzYW05ZzM1ID0gc2FtOXg1KQo+PiAgIC0gcmV3b3JrIG1h aW4gY2xrIHByZXBhcmUgZnVuY3Rpb24gdG8gaGFuZGxlIGF1dG9tYXRpYyByYXRlIGNhbGN1bGF0 aW9uCj4+Cj4+IENoYW5nZXMgc2luY2UgdjI6Cj4+ICAgLSBmaXggc2V2ZXJhbCBidWdzIGluIGNs ayBpbXBsZW1lbnRhdGlvbnMKPj4gICAtIGRyb3Agbm9uLWR0IGJvYXJkcyBzdXBwb3J0Cj4+ICAg LSBzcGxpdCB0aGUgc2VyaWVzIHRvIGVhc2UgcmV2aWV3IGFuZCB0ZXN0czoKPj4gICAgICogMSBw YXRjaCBzZXJpZXMgZm9yIG5ldyBjbGsgaW1wbGVtZW50YXRpb25zICh0aGlzIHNlcmllcykKPj4g ICAgICogMSBwYXRjaCBzZXJpZXMgdG8gbW92ZSBlYWNoIGF0OTEgU29DIHRvIGNvbW1vbiBjbGsg ZnJhbWV3b3JrIChjb21pbmcgc29vbikKPj4gICAtIG1vZGlmeSBkdC1iaW5kaW5ncyAoYWRkIGF0 bWVsLGNsay0gcHJlZml4IHRvIGF0bWVsIHNwZWNpZmljIHByb3BlcnRpZXMpCj4+ICAgLSBhZGQg Y2xrIG1hY3JvcyBmb3IgZHQtYmluZGluZ3MKPj4gICAtIGFkZCBwbWMgZnJhbWV3b3JrIChoZWxw ZXIgZnVuY3Rpb24gdG8gYWNjZXNzIHBtYyByZWdpc3RlcnMpCj4+ICAgLSBhZGQgaW50ZXJydXB0 IHN1cHBvcnQgdG8gZW5hYmxlIHBhc3NpdmUgd2FpdCBpbiBjbGtfcHJlcGFyZSBmdW5jdGlvbnMK Pj4KPj4gQ2hhbmdlcyBzaW5jZSB2MToKPj4gICAtIGZpeCBidWdzIGluIHBsbCwgcHJvZ3JhbW1h YmxlIGFuZCBzeXN0ZW0gY2xvY2sgaW1wbGVtZW50YXRpb25zCj4+ICAgICAod3JvbmcgYml0IHBv c2l0aW9uKS4KPj4gICAtIGFkZCB1c2IgY2xvY2sgY29uZmlndXJhdGlvbiBzdXBwb3J0IChvaGNp IGFuZCB1ZGMgZHJpdmVycyArCj4+ICAgICBjbGtfbG9va3VwIGZvciBub24gZHQgYm9hcmRzKQo+ PiAgIC0gcmV3b3JrIG9mIHRoZSBzeXN0ZW0gY2xvY2sgaW50ZXJmYWNlcyAobm8gbmVlZCB0byBk ZWZpbmUgYSBwYXJlbnQgY2xvY2ssCj4+ICAgICBzeXN0ZW0gY2xvY2sgaXMgYSBnYXRlIHdpdGgg bm8gcmF0ZSBpbmZvKQo+PiAgIC0gY2hhbmdlIHN5c3RlbSwgcGVyaXBoZXJhbCBhbmQgcHJvZ3Jh bW1hYmxlIGNsayBkdCBiaW5kaW5ncyAoMSBtYXN0ZXIgbm9kZQo+PiAgICAgYW5kIG11bHRpcGxl IGNoaWxkIG5vZGVzIGVhY2ggZGVmaW5pbmcgYSBzeXN0ZW0vcGVyaXBoZXJhbCBvciBwcm9nIGNs b2NrKQo+PiAgIC0gZml4IGJ1Z3MgaW4gc2FtYTUgZHQgZGVmaW5pdGlvbgo+Pgo+PiBCb3JpcyBC UkVaSUxMT04gKDE2KToKPj4gICAgQVJNOiBhdDkxOiBtb3ZlIGF0OTFfcG1jLmggdG8gaW5jbHVk ZS9saW51eC9jbGsvYXQ5MV9wbWMuaAo+PiAgICBBUk06IGF0OTE6IGFkZCBLY29uZmlnIG9wdGlv bnMgZm9yIGNvbW1vbiBjbGsgc3VwcG9ydAo+PiAgICBjbGs6IGF0OTE6IGFkZCBQTUMgYmFzZSBz dXBwb3J0Cj4+ICAgIGNsazogYXQ5MTogYWRkIFBNQyBtYWNybyBmaWxlIGZvciBkdCBkZWZpbml0 aW9ucwo+PiAgICBjbGs6IGF0OTE6IGFkZCBQTUMgbWFpbiBjbG9jawo+PiAgICBjbGs6IGF0OTE6 IGFkZCBQTUMgcGxsIGNsb2Nrcwo+PiAgICBjbGs6IGF0OTE6IGFkZCBQTUMgbWFzdGVyIGNsb2Nr Cj4+ICAgIGNsazogYXQ5MTogYWRkIFBNQyBzeXN0ZW0gY2xvY2tzCj4+ICAgIGNsazogYXQ5MTog YWRkIFBNQyBwZXJpcGhlcmFsIGNsb2Nrcwo+PiAgICBjbGs6IGF0OTE6IGFkZCBQTUMgcHJvZ3Jh bW1hYmxlIGNsb2Nrcwo+PiAgICBjbGs6IGF0OTE6IGFkZCBQTUMgdXRtaSBjbG9jawo+PiAgICBj bGs6IGF0OTE6IGFkZCBQTUMgdXNiIGNsb2NrCj4+ICAgIGNsazogYXQ5MTogYWRkIFBNQyBzbWQg Y2xvY2sKPj4gICAgZHQ6IGJpbmRpbmc6IGFkZCBhdDkxIGNsa3MgZHQgYmluZGluZ3MgZG9jdW1l bnRhdGlvbgo+PiAgICBBUk06IGF0OTE6IG1vdmUgcGl0IHRpbWVyIHRvIGNvbW1vbiBjbGsgZnJh bWV3b3JrCj4+ICAgIEFSTTogYXQ5MTogYWRkIG5ldyBjb21wYXRpYmxlIHN0cmluZ3MgZm9yIHBt YyBkcml2ZXIKPj4KPj4gICAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9hdDkxLWNsb2Nr LnR4dCAgICAgICB8ICAzMzkgKysrKysrKysrKysrKwo+PiAgIGFyY2gvYXJtL21hY2gtYXQ5MS9L Y29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0NCArKwo+PiAgIGFyY2gvYXJtL21h Y2gtYXQ5MS9LY29uZmlnLm5vbl9kdCAgICAgICAgICAgICAgICAgIHwgICAgNiArCj4+ICAgYXJj aC9hcm0vbWFjaC1hdDkxL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICst Cj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFybTkyMDAuYyAgICAgICAgICAgICAgICAgICAg fCAgICAyICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwLmMgICAgICAgICAg ICAgICAgICAgfCAgICAyICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYxLmMg ICAgICAgICAgICAgICAgICAgfCAgICAyICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFz YW05MjYzLmMgICAgICAgICAgICAgICAgICAgfCAgICAyICstCj4+ICAgYXJjaC9hcm0vbWFjaC1h dDkxL2F0OTFzYW05MjZ4X3RpbWUuYyAgICAgICAgICAgICAgfCAgIDE0ICstCj4+ICAgYXJjaC9h cm0vbWFjaC1hdDkxL2F0OTFzYW05ZzQ1LmMgICAgICAgICAgICAgICAgICAgfCAgICAyICstCj4+ ICAgYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05bjEyLmMgICAgICAgICAgICAgICAgICAgfCAg ICAyICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05cmwuYyAgICAgICAgICAgICAg ICAgICAgfCAgICAyICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05eDUuYyAgICAg ICAgICAgICAgICAgICAgfCAgICAyICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL2Nsb2NrLmMg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA3ICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkx L2dlbmVyaWMuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICstCj4+ICAgYXJjaC9hcm0v bWFjaC1hdDkxL3BtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCj4+ICAg YXJjaC9hcm0vbWFjaC1hdDkxL3BtX3Nsb3djbG9jay5TICAgICAgICAgICAgICAgICAgfCAgICAy ICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL3NhbWE1ZDMuYyAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAyICstCj4+ICAgYXJjaC9hcm0vbWFjaC1hdDkxL3NldHVwLmMgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICA4ICstCj4+ICAgZHJpdmVycy9jbGsvTWFrZWZpbGUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKPj4gICBkcml2ZXJzL2Nsay9hdDkxL01ha2Vm aWxlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTIgKwo+PiAgIGRyaXZlcnMvY2xrL2F0 OTEvY2xrLW1haW4uYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE4NyArKysrKysrCj4+ICAg ZHJpdmVycy9jbGsvYXQ5MS9jbGstbWFzdGVyLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMjcw ICsrKysrKysrKysKPj4gICBkcml2ZXJzL2Nsay9hdDkxL2Nsay1wZXJpcGhlcmFsLmMgICAgICAg ICAgICAgICAgICB8ICA0MTAgKysrKysrKysrKysrKysrCj4+ICAgZHJpdmVycy9jbGsvYXQ5MS9j bGstcGxsLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTMxICsrKysrKysrKysrKysrKysr KysrCj4+ICAgZHJpdmVycy9jbGsvYXQ5MS9jbGstcGxsZGl2LmMgICAgICAgICAgICAgICAgICAg ICAgfCAgMTM1ICsrKysrCj4+ICAgZHJpdmVycy9jbGsvYXQ5MS9jbGstcHJvZ3JhbW1hYmxlLmMg ICAgICAgICAgICAgICAgfCAgMzY2ICsrKysrKysrKysrKysrCj4+ICAgZHJpdmVycy9jbGsvYXQ5 MS9jbGstc21kLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTcxICsrKysrKysKPj4gICBk cml2ZXJzL2Nsay9hdDkxL2Nsay1zeXN0ZW0uYyAgICAgICAgICAgICAgICAgICAgICB8ICAxMzUg KysrKysKPj4gICBkcml2ZXJzL2Nsay9hdDkxL2Nsay11c2IuYyAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAzOTggKysrKysrKysrKysrKysrCj4+ICAgZHJpdmVycy9jbGsvYXQ5MS9jbGstdXRt aS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTU5ICsrKysrKwo+PiAgIGRyaXZlcnMvY2xr L2F0OTEvcG1jLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDM5NyArKysrKysrKysr KysrKysKPj4gICBkcml2ZXJzL2Nsay9hdDkxL3BtYy5oICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAxMTYgKysrKysKPj4gICBkcml2ZXJzL3VzYi9nYWRnZXQvYXRtZWxfdXNiYV91ZGMu YyAgICAgICAgICAgICAgICB8ICAgIDIgKy0KPj4gICBpbmNsdWRlL2R0LWJpbmRpbmdzL2Nsay9h dDkxLmggICAgICAgICAgICAgICAgICAgICB8ICAgMjIgKwo+PiAgIC4uLi9pbmNsdWRlL21hY2gg PT4gaW5jbHVkZS9saW51eC9jbGt9L2F0OTFfcG1jLmggIHwgICAgNCArLQo+PiAgIDM2IGZpbGVz IGNoYW5nZWQsIDM3NDEgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCj4+ICAgY3JlYXRl IG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay9hdDkx LWNsb2NrLnR4dAo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9hdDkxL01ha2Vm aWxlCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL2F0OTEvY2xrLW1haW4uYwo+ PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9hdDkxL2Nsay1tYXN0ZXIuYwo+PiAg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9hdDkxL2Nsay1wZXJpcGhlcmFsLmMKPj4g ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvYXQ5MS9jbGstcGxsLmMKPj4gICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvYXQ5MS9jbGstcGxsZGl2LmMKPj4gICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvYXQ5MS9jbGstcHJvZ3JhbW1hYmxlLmMKPj4gICBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvYXQ5MS9jbGstc21kLmMKPj4gICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9jbGsvYXQ5MS9jbGstc3lzdGVtLmMKPj4gICBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9jbGsvYXQ5MS9jbGstdXNiLmMKPj4gICBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9jbGsvYXQ5MS9jbGstdXRtaS5jCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvY2xrL2F0OTEvcG1jLmMKPj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvYXQ5 MS9wbWMuaAo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2R0LWJpbmRpbmdzL2Nsay9h dDkxLmgKPj4gICByZW5hbWUge2FyY2gvYXJtL21hY2gtYXQ5MS9pbmNsdWRlL21hY2ggPT4gaW5j bHVkZS9saW51eC9jbGt9L2F0OTFfcG1jLmggKDk4JSkKPj4KPj4gLS0gCj4+IDEuNy45LjUKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0t a2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2Vy bmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753657Ab3LBMAF (ORCPT ); Mon, 2 Dec 2013 07:00:05 -0500 Received: from 18.mo4.mail-out.ovh.net ([188.165.54.143]:52473 "EHLO mo4.mail-out.ovh.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753507Ab3LBMAB (ORCPT ); Mon, 2 Dec 2013 07:00:01 -0500 Message-ID: <529C7245.5010409@overkiz.com> Date: Mon, 02 Dec 2013 12:43:01 +0100 From: boris brezillon User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: Mike Turquette , Nicolas Ferre , Russell King , Felipe Balbi , Jason Cooper CC: devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-usb@vger.kernel.org Subject: Re: [PATCH v6 00/16] ARM: at91: move to common clk framework References: <1385642184-6467-1-git-send-email-b.brezillon@overkiz.com> <20131130230549.16819.84161@quantum> In-Reply-To: <20131130230549.16819.84161@quantum> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 8234550444955170844 X-Ovh-Remote: 78.236.240.82 (cha74-5-78-236-240-82.fbx.proxad.net) X-Ovh-Local: 213.186.33.20 (ns0.ovh.net) X-OVH-SPAMSTATE: OK X-OVH-SPAMSCORE: -100 X-OVH-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeeiledrkeefucetufdoteggodetrfcurfhrohhfihhlvgemucfqggfjnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd X-Spam-Check: DONE|U 0.5/N X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeeiledrkeefucetufdoteggodetrfcurfhrohhfihhlvgemucfqggfjnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Mike, Le 01/12/2013 00:05, Mike Turquette a écrit : > Quoting Boris BREZILLON (2013-11-28 04:36:24) >> Hello, >> >> This patch series is the 5th version of the at91 clk implementations >> using the Common Clk Framework. > Oops, I just replied to v5 of this series. Thanks for the fixes. Which > tree do you want this to go through? I'm not sure: the "ARM: at91: move to common clk framework" series depends on this one. Nicolas, what do you think ? Do you want to take it into your tree ? > Regards, > Mike > >> Most of the clock provided by the PMC (Power Management Controller) are >> implemented : >> - main clock (main oscillator) >> - pll clocks >> - master clock >> - programmable clocks >> - utmi clock >> - peripheral clocks >> - system clocks >> >> Actually some clk drivers are missing (slow clk, main clk and processor >> clk), and some drivers only implement a subset of the hardware capabilities >> (master clk rate change is missing). >> But this series implements all the already available clks, and I will hopefully >> add missing features in a near future. >> >> This implementation is only compatible with device tree definition. >> The goal is to define the whole clock tree using the device tree. >> >> Just a note to let you know these bindings are currently unstable and might >> change in the future. >> >> >> Best Regards, >> Boris >> >> Changes since v5: >> - remove peripheral divisors macros from dt binding include file >> - remove file path from comment blocks >> - replace pll and utmi disable function by unprepare function to >> avoid issue when disabling and reenabling a clk >> - fix programmable clk interrupt retrieval >> - fix OF_CLK_DECLARE names (xxx_clk_main -> xxx_clk_pmc) >> - add missing comma in at91rm9200 main clk dt declaration >> - fix num_parents check in smd clk driver >> >> Changes since v4: >> - rework dt bindings: >> * replace "atmel,clk-id" property by the standard "reg" property >> * reference system, peripheral and programmable clks using the direct >> clk node instead of the parent node plus a clk id >> - provide a new helper function (of_at91_get_clk_range) to retrieve a clk >> range from the device tree >> >> Changes since v3: >> - simplify master clk implementation (drop set_rate/parent support) >> - fix bug in set_rate function of pll driver >> - fix coding style issues >> - define macros and constants where needed >> - remove peripheral id macro references >> - remove sam9g35 specific handling (sam9g35 = sam9x5) >> - rework main clk prepare function to handle automatic rate calculation >> >> Changes since v2: >> - fix several bugs in clk implementations >> - drop non-dt boards support >> - split the series to ease review and tests: >> * 1 patch series for new clk implementations (this series) >> * 1 patch series to move each at91 SoC to common clk framework (coming soon) >> - modify dt-bindings (add atmel,clk- prefix to atmel specific properties) >> - add clk macros for dt-bindings >> - add pmc framework (helper function to access pmc registers) >> - add interrupt support to enable passive wait in clk_prepare functions >> >> Changes since v1: >> - fix bugs in pll, programmable and system clock implementations >> (wrong bit position). >> - add usb clock configuration support (ohci and udc drivers + >> clk_lookup for non dt boards) >> - rework of the system clock interfaces (no need to define a parent clock, >> system clock is a gate with no rate info) >> - change system, peripheral and programmable clk dt bindings (1 master node >> and multiple child nodes each defining a system/peripheral or prog clock) >> - fix bugs in sama5 dt definition >> >> Boris BREZILLON (16): >> ARM: at91: move at91_pmc.h to include/linux/clk/at91_pmc.h >> ARM: at91: add Kconfig options for common clk support >> clk: at91: add PMC base support >> clk: at91: add PMC macro file for dt definitions >> clk: at91: add PMC main clock >> clk: at91: add PMC pll clocks >> clk: at91: add PMC master clock >> clk: at91: add PMC system clocks >> clk: at91: add PMC peripheral clocks >> clk: at91: add PMC programmable clocks >> clk: at91: add PMC utmi clock >> clk: at91: add PMC usb clock >> clk: at91: add PMC smd clock >> dt: binding: add at91 clks dt bindings documentation >> ARM: at91: move pit timer to common clk framework >> ARM: at91: add new compatible strings for pmc driver >> >> .../devicetree/bindings/clock/at91-clock.txt | 339 +++++++++++++ >> arch/arm/mach-at91/Kconfig | 44 ++ >> arch/arm/mach-at91/Kconfig.non_dt | 6 + >> arch/arm/mach-at91/Makefile | 2 +- >> arch/arm/mach-at91/at91rm9200.c | 2 +- >> arch/arm/mach-at91/at91sam9260.c | 2 +- >> arch/arm/mach-at91/at91sam9261.c | 2 +- >> arch/arm/mach-at91/at91sam9263.c | 2 +- >> arch/arm/mach-at91/at91sam926x_time.c | 14 +- >> arch/arm/mach-at91/at91sam9g45.c | 2 +- >> arch/arm/mach-at91/at91sam9n12.c | 2 +- >> arch/arm/mach-at91/at91sam9rl.c | 2 +- >> arch/arm/mach-at91/at91sam9x5.c | 2 +- >> arch/arm/mach-at91/clock.c | 7 +- >> arch/arm/mach-at91/generic.h | 3 +- >> arch/arm/mach-at91/pm.c | 2 +- >> arch/arm/mach-at91/pm_slowclock.S | 2 +- >> arch/arm/mach-at91/sama5d3.c | 2 +- >> arch/arm/mach-at91/setup.c | 8 +- >> drivers/clk/Makefile | 1 + >> drivers/clk/at91/Makefile | 12 + >> drivers/clk/at91/clk-main.c | 187 +++++++ >> drivers/clk/at91/clk-master.c | 270 ++++++++++ >> drivers/clk/at91/clk-peripheral.c | 410 +++++++++++++++ >> drivers/clk/at91/clk-pll.c | 531 ++++++++++++++++++++ >> drivers/clk/at91/clk-plldiv.c | 135 +++++ >> drivers/clk/at91/clk-programmable.c | 366 ++++++++++++++ >> drivers/clk/at91/clk-smd.c | 171 +++++++ >> drivers/clk/at91/clk-system.c | 135 +++++ >> drivers/clk/at91/clk-usb.c | 398 +++++++++++++++ >> drivers/clk/at91/clk-utmi.c | 159 ++++++ >> drivers/clk/at91/pmc.c | 397 +++++++++++++++ >> drivers/clk/at91/pmc.h | 116 +++++ >> drivers/usb/gadget/atmel_usba_udc.c | 2 +- >> include/dt-bindings/clk/at91.h | 22 + >> .../include/mach => include/linux/clk}/at91_pmc.h | 4 +- >> 36 files changed, 3741 insertions(+), 20 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/clock/at91-clock.txt >> create mode 100644 drivers/clk/at91/Makefile >> create mode 100644 drivers/clk/at91/clk-main.c >> create mode 100644 drivers/clk/at91/clk-master.c >> create mode 100644 drivers/clk/at91/clk-peripheral.c >> create mode 100644 drivers/clk/at91/clk-pll.c >> create mode 100644 drivers/clk/at91/clk-plldiv.c >> create mode 100644 drivers/clk/at91/clk-programmable.c >> create mode 100644 drivers/clk/at91/clk-smd.c >> create mode 100644 drivers/clk/at91/clk-system.c >> create mode 100644 drivers/clk/at91/clk-usb.c >> create mode 100644 drivers/clk/at91/clk-utmi.c >> create mode 100644 drivers/clk/at91/pmc.c >> create mode 100644 drivers/clk/at91/pmc.h >> create mode 100644 include/dt-bindings/clk/at91.h >> rename {arch/arm/mach-at91/include/mach => include/linux/clk}/at91_pmc.h (98%) >> >> -- >> 1.7.9.5