* [GIT PULL] Amlogic 64-bit DT updates for v4.12 @ 2017-03-29 21:45 Kevin Hilman 2017-03-31 14:02 ` Arnd Bergmann 0 siblings, 1 reply; 5+ messages in thread From: Kevin Hilman @ 2017-03-29 21:45 UTC (permalink / raw) To: linux-arm-kernel Olof, Arnd, Below are some 64-bit DT changes for Amlogic platforms for v4.12. Note that this branch includes a merge of an immutable branch from the clk tree (clk-meson) due to dependencies on new clocks added to the meson clock driver and used in these DT updates. Kevin The following changes since commit c1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201: Linux 4.11-rc1 (2017-03-05 12:59:56 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic.git tags/amlogic-dt64 for you to fetch changes up to a1093238d6b148b46b7f3e0642681ec41baa1d0b: Merge branch 'clk-meson' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux into v4.12/dt64 (2017-03-28 10:47:49 -0700) ---------------------------------------------------------------- Amlogic 64-bit DT updates for v4.12 - pinctrl: new pins for audio - clocks: more clocks exposed for GFX, audio - new board: Khadas Vim (S905X) - new board: HwaCom AmazeTV (S905X) - ethernet phy: add GPIO resets ---------------------------------------------------------------- Carlo Caione (3): dt-bindings: Add vendor prefix for Hwacom Systems Inc. dt-bindings: amlogic: Add HwaCom board ARM64: dts: meson-gxl: Add support for HwaCom AmazeTV Jerome Brunet (9): clk: meson: fix SET_PARM macro clk: meson: add missing const qualifiers on gate arrays clk: meson8b: put dividers and muxes in tables clk: gxbb: put dividers and muxes in tables clk: meson: mpll: add rw operation clk: meson: gxbb: mpll: use rw operation clk: meson8b: add the mplls clocks 0, 1 and 2 clk: meson: mpll: correct N2 maximum value dt-bindings: clk: gxbb: expose i2s output clock gates Kevin Hilman (1): Merge branch 'clk-meson' of git://git.kernel.org/.../clk/linux into v4.12/dt64 Martin Blumenstingl (14): ARM64: dts: meson-gxbb-odroidc2: add the ethernet PHY's reset GPIO ARM64: dts: meson-gxbb-p200: add the ethernet PHY's reset GPIO ARM64: dts: meson-gxbb-vega-s95: add the ethernet PHY's reset GPIO ARM64: dts: meson-gxbb-nexbox-a95x: add the ethernet PHY's reset GPIO ARM64: dts: meson-gxbb-wetek-hub: add the ethernet PHY's reset GPIO ARM64: dts: meson-gxbb-wetek-play2: add the ethernet PHY's reset GPIO ARM64: dts: meson-gxbb-p201: fix ethernet support ARM64: dts: amlogic: add the ethernet TX delay configuration ARM64: dts: meson-gx: remove the phy-mode property from meson-gx ARM64: dts: meson-gxl: improve support for the P212 reference design ARM64: dts: amlogic: meson-gxl: add the missing PWM pins devicetree: add vendor prefix for Khadas dt-bindings: amlogic: add the Khadas VIM ARM64: dts: meson-gxl: add support for the Khadas VIM board Neil Armstrong (20): ARM64: dts: meson-gx: Add Buttons to Q200 and P230 boards ARM64: dts: meson-gxbb-odroidc2: Add GPIO lines names ARM64: dts: meson-gxbb-odroidc2: Fix TFLASH VDD regulator GPIO line ARM64: dts: meson-gx: Finally move common nodes to GX dtsi ARM64: dts: meson-gx: empty line cleanup ARM64: dts: meson-gx: Prepend GX generic compatible like other nodes ARM64: dts: meson-gxl: Add missing pinctrl pins groups clk: meson-gxbb: Add MALI clock IDS clk: meson-gxbb: Add MALI clocks clk: meson: Add support for parameters for specific PLLs clk: meson-gxbb: Add GP0 PLL init parameters clk: meson-gxbb: Add GXL/GXM GP0 Variant clk: meson-gxbb: Expose GP0 dt-bindings clock id dt-bindings: clock: gxbb-clkc: Add GXL compatible variant ARM64: dts: meson-gx: Add Mali nodes for GXBB and GXL ARM64: dts: meson-gxbb: Add gpio-ranges properties ARM64: dts: meson-gxl: Add gpio-ranges properties ARM: dts: meson8: Add gpio-ranges properties ARM: dts: meson8b: Add gpio-ranges properties ARM64: dts: meson-gxbb: Add USB Hub GPIO hog jbrunet (4): ARM64: dts: meson-gxbb: add i2s output pins ARM64: dts: meson-gxbb: add spdif output pins ARM64: dts: meson-gxl: add i2s output pins ARM64: dts: meson-gxl: add spdif output pins Documentation/devicetree/bindings/arm/amlogic.txt | 3 + Documentation/devicetree/bindings/clock/amlogic,gxbb-clkc.txt | 3 +- Documentation/devicetree/bindings/vendor-prefixes.txt | 2 + arch/arm/boot/dts/meson8.dtsi | 2 + arch/arm/boot/dts/meson8b.dtsi | 2 + arch/arm64/boot/dts/amlogic/Makefile | 2 + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 40 +++++-- arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 17 +++ arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 75 ++++++++++++- arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts | 25 +++++ arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts | 11 ++ arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi | 6 -- arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 21 +++- arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts | 26 +++++ arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts | 26 +++++ arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 160 ++++++++++++++++++++++------ arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi | 43 ++++++++ arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 42 ++++++++ arch/arm64/boot/dts/amlogic/meson-gxl-s905d.dtsi | 1 + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts | 164 ++++++++++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 114 ++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts | 21 ++-- arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 173 ++++++++++++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxl-s905x.dtsi | 1 + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 181 +++++++++++++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts | 2 + arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts | 42 ++++++++ drivers/clk/meson/clk-mpll.c | 152 +++++++++++++++++++++++++- drivers/clk/meson/clk-pll.c | 53 +++++++++- drivers/clk/meson/clkc.h | 29 ++++- drivers/clk/meson/gxbb.c | 505 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ drivers/clk/meson/gxbb.h | 23 ++-- drivers/clk/meson/meson8b.c | 127 +++++++++++++++++++++- drivers/clk/meson/meson8b.h | 20 +++- include/dt-bindings/clock/gxbb-clkc.h | 11 ++ 35 files changed, 2011 insertions(+), 114 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi ^ permalink raw reply [flat|nested] 5+ messages in thread
* [GIT PULL] Amlogic 64-bit DT updates for v4.12 2017-03-29 21:45 [GIT PULL] Amlogic 64-bit DT updates for v4.12 Kevin Hilman @ 2017-03-31 14:02 ` Arnd Bergmann 2017-03-31 16:01 ` Kevin Hilman 0 siblings, 1 reply; 5+ messages in thread From: Arnd Bergmann @ 2017-03-31 14:02 UTC (permalink / raw) To: linux-arm-kernel On Wed, Mar 29, 2017 at 11:45 PM, Kevin Hilman <khilman@baylibre.com> wrote: > Olof, Arnd, > > Below are some 64-bit DT changes for Amlogic platforms for v4.12. Note > that this branch includes a merge of an immutable branch from the clk > tree (clk-meson) due to dependencies on new clocks added to the meson > clock driver and used in these DT updates. I did not pull this one because of the silly dependency. The device tree files should be completely independent of the driver changes. Here I see commits like these: commit fd86d3edb417d5c719fa0ffc4adf9b99e1f2db48 Author: Neil Armstrong <narmstrong@baylibre.com> Date: Wed Mar 22 11:32:26 2017 +0100 clk: meson-gxbb: Expose GP0 dt-bindings clock id This patch exposes the GP0 PLL clock id in the dt bindings. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com> Link: lkml.kernel.org/r/1490178747-14837-5-git-send-email-narmstrong at baylibre.com diff --git a/include/dt-bindings/clock/gxbb-clkc.h b/include/dt-bindings/clock/gxbb-clkc.h index ef7d6b792405..cce6cb5418f1 100644 --- a/include/dt-bindings/clock/gxbb-clkc.h +++ b/include/dt-bindings/clock/gxbb-clkc.h @@ -10,6 +10,7 @@ #define CLKID_FCLK_DIV2 4 #define CLKID_FCLK_DIV3 5 #define CLKID_FCLK_DIV4 6 +#define CLKID_GP0_PLL 9 #define CLKID_CLK81 12 #define CLKID_MPLL2 15 #define CLKID_SPI 34 commit 7c4aabd0e19491749488b363fa409956fa3857bb Author: Neil Armstrong <narmstrong@baylibre.com> Date: Wed Mar 22 11:18:53 2017 +0100 clk: meson-gxbb: Add MALI clock IDS Add missing MALI clock IDs and expose the muxes and gates in the dt-bindings. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com> Link: lkml.kernel.org/r/1490177935-9646-2-git-send-email-narmstrong at baylibre.com diff --git a/include/dt-bindings/clock/gxbb-clkc.h b/include/dt-bindings/clock/gxbb-clkc.h index f08f06dd7702..ef7d6b792405 100644 --- a/include/dt-bindings/clock/gxbb-clkc.h +++ b/include/dt-bindings/clock/gxbb-clkc.h @@ -35,5 +35,10 @@ #define CLKID_SD_EMMC_C 96 #define CLKID_SAR_ADC_CLK 97 #define CLKID_SAR_ADC_SEL 98 +#define CLKID_MALI_0_SEL 100 +#define CLKID_MALI_0 102 +#define CLKID_MALI_1_SEL 103 +#define CLKID_MALI_1 105 +#define CLKID_MALI 106 #endif /* __GXBB_CLKC_H */ commit 7e148d522982b29c454a31386eb3d27b10d5adbc Author: Jerome Brunet <jbrunet@baylibre.com> Date: Thu Mar 9 11:41:54 2017 +0100 dt-bindings: clk: gxbb: expose i2s output clock gates Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com> Link: lkml.kernel.org/r/20170309104154.28295-10-jbrunet at baylibre.com diff --git a/include/dt-bindings/clock/gxbb-clkc.h b/include/dt-bindings/clock/gxbb-clkc.h index 692846c7941b..f08f06dd7702 100644 --- a/include/dt-bindings/clock/gxbb-clkc.h +++ b/include/dt-bindings/clock/gxbb-clkc.h @@ -16,6 +16,10 @@ #define CLKID_I2C 22 #define CLKID_SAR_ADC 23 #define CLKID_ETH 36 +#define CLKID_AIU_GLUE 38 +#define CLKID_I2S_OUT 40 +#define CLKID_MIXER_IFACE 44 +#define CLKID_AIU 47 #define CLKID_USB0 50 #define CLKID_USB1 51 #define CLKID_USB 55 Which add random macros in the middle of the number space. Since the header changes are in an immutable branch, it's probably too late to fix this for 4.12, but maybe we can get the header into a form that allows us to do future DT changes without having to wait an extra release. The clock driver apparently already defines some of the numbers above, so you can fill all of those in already. Arnd ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [GIT PULL] Amlogic 64-bit DT updates for v4.12 2017-03-31 14:02 ` Arnd Bergmann @ 2017-03-31 16:01 ` Kevin Hilman 2017-03-31 16:11 ` Ben Dooks 0 siblings, 1 reply; 5+ messages in thread From: Kevin Hilman @ 2017-03-31 16:01 UTC (permalink / raw) To: linux-arm-kernel Arnd Bergmann <arnd@arndb.de> writes: > On Wed, Mar 29, 2017 at 11:45 PM, Kevin Hilman <khilman@baylibre.com> wrote: >> Olof, Arnd, >> >> Below are some 64-bit DT changes for Amlogic platforms for v4.12. Note >> that this branch includes a merge of an immutable branch from the clk >> tree (clk-meson) due to dependencies on new clocks added to the meson >> clock driver and used in these DT updates. > > I did not pull this one because of the silly dependency. The device tree > files should be completely independent of the driver changes. Aaargh, this is getting very frustrating. [...] > Which add random macros in the middle of the number space. > > Since the header changes are in an immutable branch, it's probably > too late to fix this for 4.12, but maybe we can get the header into a > form that allows us to do future DT changes without having to > wait an extra release. The clock driver apparently already defines > some of the numbers above, so you can fill all of those in already. We could, but this is in direct conflict with the recommendations of the clk maintainers to not expose clock IDs to the DT until we know they are used because, well, things change. Can we *please* get some clarity on on this between arm-soc and the clk maintainers? I've been asking for a couple merge windows now. Irritated, Kevin ^ permalink raw reply [flat|nested] 5+ messages in thread
* [GIT PULL] Amlogic 64-bit DT updates for v4.12 2017-03-31 16:01 ` Kevin Hilman @ 2017-03-31 16:11 ` Ben Dooks 2017-03-31 17:07 ` Michael Turquette 0 siblings, 1 reply; 5+ messages in thread From: Ben Dooks @ 2017-03-31 16:11 UTC (permalink / raw) To: linux-arm-kernel On 31/03/17 17:01, Kevin Hilman wrote: > Arnd Bergmann <arnd@arndb.de> writes: > >> On Wed, Mar 29, 2017 at 11:45 PM, Kevin Hilman <khilman@baylibre.com> wrote: >>> Olof, Arnd, >>> >>> Below are some 64-bit DT changes for Amlogic platforms for v4.12. Note >>> that this branch includes a merge of an immutable branch from the clk >>> tree (clk-meson) due to dependencies on new clocks added to the meson >>> clock driver and used in these DT updates. >> >> I did not pull this one because of the silly dependency. The device tree >> files should be completely independent of the driver changes. > > Aaargh, this is getting very frustrating. I tried to make this point very early on in the development, we don't want to be changing both driver and dt if we are adding things like IDs for gated clocks. For example, having an almost 1:1 mapping from clock-id to bit-in-hardware would make life much easier, even if the driver had a little bit more code to create clocks at the probe time, it would have meant that DT additions for new peripherals would have been much easier. > [...] > >> Which add random macros in the middle of the number space. >> >> Since the header changes are in an immutable branch, it's probably >> too late to fix this for 4.12, but maybe we can get the header into a >> form that allows us to do future DT changes without having to >> wait an extra release. The clock driver apparently already defines >> some of the numbers above, so you can fill all of those in already. > > We could, but this is in direct conflict with the recommendations of the > clk maintainers to not expose clock IDs to the DT until we know they are > used because, well, things change. > > Can we *please* get some clarity on on this between arm-soc and the clk > maintainers? I've been asking for a couple merge windows now. > > Irritated, > > Kevin > > _______________________________________________ > linux-amlogic mailing list > linux-amlogic at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-amlogic > -- Ben Dooks http://www.codethink.co.uk/ Senior Engineer Codethink - Providing Genius ^ permalink raw reply [flat|nested] 5+ messages in thread
* [GIT PULL] Amlogic 64-bit DT updates for v4.12 2017-03-31 16:11 ` Ben Dooks @ 2017-03-31 17:07 ` Michael Turquette 0 siblings, 0 replies; 5+ messages in thread From: Michael Turquette @ 2017-03-31 17:07 UTC (permalink / raw) To: linux-arm-kernel Quoting Ben Dooks (2017-03-31 09:11:17) > On 31/03/17 17:01, Kevin Hilman wrote: > > Arnd Bergmann <arnd@arndb.de> writes: > > > >> On Wed, Mar 29, 2017 at 11:45 PM, Kevin Hilman <khilman@baylibre.com> wrote: > >>> Olof, Arnd, > >>> > >>> Below are some 64-bit DT changes for Amlogic platforms for v4.12. Note > >>> that this branch includes a merge of an immutable branch from the clk > >>> tree (clk-meson) due to dependencies on new clocks added to the meson > >>> clock driver and used in these DT updates. > >> > >> I did not pull this one because of the silly dependency. The device tree > >> files should be completely independent of the driver changes. > > > > Aaargh, this is getting very frustrating. > > I tried to make this point very early on in the development, > we don't want to be changing both driver and dt if we are > adding things like IDs for gated clocks. > > For example, having an almost 1:1 mapping from clock-id to > bit-in-hardware would make life much easier, even if the > driver had a little bit more code to create clocks at the > probe time, it would have meant that DT additions for new > peripherals would have been much easier. It would be great if the hardware was designed in such a way to make that possible. A lot of clock controller hardware simply isn't. We're talking about defining a reference to a clock control, somewhere in the middle of the clock tree, that maybe we didn't know existed until now. This simply is not the same as enumerating physical pins or something like that. To be clear, all of the leaf clock (gates) were defined in DT from the very beginning for the SoC in question. This is perfectly in-line with Arnd's world-view. These gates are very orderly and correspond directly to the consumer devices that take them as input. It's the mess of clocks that make up the "middle" of the tree that cause these problems. I don't see why we can't agree on a way to update the DT headers in such cases. > > > [...] > > > >> Which add random macros in the middle of the number space. > >> > >> Since the header changes are in an immutable branch, it's probably > >> too late to fix this for 4.12, but maybe we can get the header into a > >> form that allows us to do future DT changes without having to > >> wait an extra release. The clock driver apparently already defines > >> some of the numbers above, so you can fill all of those in already. > > > > We could, but this is in direct conflict with the recommendations of the > > clk maintainers to not expose clock IDs to the DT until we know they are > > used because, well, things change. > > > > Can we *please* get some clarity on on this between arm-soc and the clk > > maintainers? I've been asking for a couple merge windows now. I'm hopeful that that the arm-soc maintainers can see it my way ;-) I'll explain the thought process behind the gxbb clk IDs in DT again: 1) we don't know about all the clocks ahead of time. New documentation is always forthcoming, especially in regards to multimedia-focused IP 2) we do know about all of the leaf clocks that devices take as input and expose them in DT from the very beginning, as we should 3) ideally we should not need to expose any non-leaf clocks in DT. This would be akin to exposing private data or state machine internals in DT, when the consumer nodes only care about a phandle to their input 4) ideally consumer devices should reference only the leaf clocks. Ideally the framework & clk provider driver should be smart enough to Do The Right Thing. Items #3 and #4 are not always true, we don't life in an ideal world and hence, sometimes we add new clock IDs to DT. This should not be grounds for a patch not making it into the merge window IMO. Best regards, Mike > > > > Irritated, > > > > Kevin > > > > _______________________________________________ > > linux-amlogic mailing list > > linux-amlogic at lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-amlogic > > > > > -- > Ben Dooks http://www.codethink.co.uk/ > Senior Engineer Codethink - Providing Genius > -- > To unsubscribe from this list: send the line "unsubscribe linux-clk" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-03-31 17:07 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-03-29 21:45 [GIT PULL] Amlogic 64-bit DT updates for v4.12 Kevin Hilman 2017-03-31 14:02 ` Arnd Bergmann 2017-03-31 16:01 ` Kevin Hilman 2017-03-31 16:11 ` Ben Dooks 2017-03-31 17:07 ` Michael Turquette
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).