| From 805e008c18ec09c4115e4cec413642028cd9a8e2 Mon Sep 17 00:00:00 2001 |
| From: Phil Elwell <phil@raspberrypi.com> |
| Date: Mon, 11 May 2020 15:12:21 +0100 |
| Subject: [PATCH] overlays: Move "fixed-clock" nodes to the root |
| |
| Apart from some special cases, device objects are only created for |
| nodes if they are children of a bus or the root node. "fixed-clock" |
| is one of the exceptions that will be instantiated wherever it is |
| found, but only during kernel initialisation - ruling out loading the |
| overlay at runtime. |
| |
| Move most of the affected clocks to be children of the root, only |
| leaving those in overlays that could be multiply instantiated, to avoid |
| a potential name clash. |
| |
| See: https://github.com/raspberrypi/linux/issues/3602 |
| |
| Signed-off-by: Phil Elwell <phil@raspberrypi.com> |
| --- |
| .../dts/overlays/audiosense-pi-overlay.dts | 14 ++++++------- |
| arch/arm/boot/dts/overlays/draws-overlay.dts | 12 +++++------ |
| .../boot/dts/overlays/fe-pi-audio-overlay.dts | 2 +- |
| arch/arm/boot/dts/overlays/imx219-overlay.dts | 12 +++++------ |
| .../arm/boot/dts/overlays/irs1125-overlay.dts | 17 +++++++++------ |
| .../dts/overlays/mcp2515-can0-overlay.dts | 2 +- |
| .../dts/overlays/mcp2515-can1-overlay.dts | 2 +- |
| .../boot/dts/overlays/midi-uart0-overlay.dts | 2 +- |
| arch/arm/boot/dts/overlays/ov5647-overlay.dts | 17 +++++++++------ |
| .../boot/dts/overlays/rpivid-v4l2-overlay.dts | 17 +++++++++------ |
| .../dts/overlays/sc16is752-spi1-overlay.dts | 21 ++++++++++++------- |
| .../boot/dts/overlays/tc358743-overlay.dts | 17 +++++++++------ |
| 12 files changed, 80 insertions(+), 55 deletions(-) |
| |
| --- a/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/audiosense-pi-overlay.dts |
| @@ -24,6 +24,13 @@ |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| }; |
| + |
| + /* audio external oscillator */ |
| + codec_osc: codec_osc { |
| + compatible = "fixed-clock"; |
| + #clock-cells = <0>; |
| + clock-frequency = <12000000>; /* 12 MHz */ |
| + }; |
| }; |
| }; |
| |
| @@ -44,13 +51,6 @@ |
| #size-cells = <0>; |
| status = "okay"; |
| |
| - /* audio external oscillator */ |
| - codec_osc: codec_osc { |
| - compatible = "fixed-clock"; |
| - #clock-cells = <0>; |
| - clock-frequency = <12000000>; /* 12 MHz */ |
| - }; |
| - |
| codec: tlv320aic32x4@18 { |
| #sound-dai-cells = <0>; |
| compatible = "ti,tlv320aic32x4"; |
| --- a/arch/arm/boot/dts/overlays/draws-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/draws-overlay.dts |
| @@ -30,6 +30,12 @@ |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| + |
| + sc16is752_clk: sc16is752_draws_clk { |
| + compatible = "fixed-clock"; |
| + #clock-cells = <0>; |
| + clock-frequency = <1843200>; |
| + }; |
| }; |
| |
| pps: pps { |
| @@ -78,12 +84,6 @@ |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&sc16is752_irq>; |
| - |
| - sc16is752_clk: sc16is752_clk { |
| - compatible = "fixed-clock"; |
| - #clock-cells = <0>; |
| - clock-frequency = <1843200>; |
| - }; |
| }; |
| |
| tla2024: tla2024@48 { |
| --- a/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/fe-pi-audio-overlay.dts |
| @@ -6,7 +6,7 @@ |
| compatible = "brcm,bcm2835"; |
| |
| fragment@0 { |
| - target = <&clocks>; |
| + target-path = "/"; |
| __overlay__ { |
| sgtl5000_mclk: sgtl5000_mclk { |
| compatible = "fixed-clock"; |
| --- a/arch/arm/boot/dts/overlays/imx219-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/imx219-overlay.dts |
| @@ -27,12 +27,6 @@ |
| VDIG-supply = <&imx219_vdig>; /* 1.8v */ |
| VDDL-supply = <&imx219_vddl>; /* 1.2v */ |
| |
| - imx219_clk: camera-clk { |
| - compatible = "fixed-clock"; |
| - #clock-cells = <0>; |
| - clock-frequency = <24000000>; |
| - }; |
| - |
| port { |
| imx219_0: endpoint { |
| remote-endpoint = <&csi1_ep>; |
| @@ -90,6 +84,12 @@ |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| + |
| + imx219_clk: camera-clk { |
| + compatible = "fixed-clock"; |
| + #clock-cells = <0>; |
| + clock-frequency = <24000000>; |
| + }; |
| }; |
| }; |
| |
| --- a/arch/arm/boot/dts/overlays/irs1125-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/irs1125-overlay.dts |
| @@ -21,12 +21,6 @@ |
| pwdn-gpios = <&gpio 5 0>; |
| clocks = <&irs1125_clk>; |
| |
| - irs1125_clk: camera-clk { |
| - compatible = "fixed-clock"; |
| - #clock-cells = <0>; |
| - clock-frequency = <26000000>; |
| - }; |
| - |
| port { |
| irs1125_0: endpoint { |
| remote-endpoint = <&csi1_ep>; |
| @@ -75,4 +69,15 @@ |
| cam0-pwdn = <&irs1125>,"pwdn-gpios:4"; |
| }; |
| }; |
| + |
| + fragment@5 { |
| + target-path = "/"; |
| + __overlay__ { |
| + irs1125_clk: camera-clk { |
| + compatible = "fixed-clock"; |
| + #clock-cells = <0>; |
| + clock-frequency = <26000000>; |
| + }; |
| + }; |
| + }; |
| }; |
| --- a/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts |
| @@ -35,7 +35,7 @@ |
| |
| /* the clock/oscillator of the can-controller */ |
| fragment@3 { |
| - target-path = "/clocks"; |
| + target-path = "/"; |
| __overlay__ { |
| /* external oscillator of mcp2515 on SPI0.0 */ |
| can0_osc: can0_osc { |
| --- a/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts |
| @@ -35,7 +35,7 @@ |
| |
| /* the clock/oscillator of the can-controller */ |
| fragment@3 { |
| - target-path = "/clocks"; |
| + target-path = "/"; |
| __overlay__ { |
| /* external oscillator of mcp2515 on spi0.1 */ |
| can1_osc: can1_osc { |
| --- a/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/midi-uart0-overlay.dts |
| @@ -15,7 +15,7 @@ |
| compatible = "brcm,bcm2835"; |
| |
| fragment@0 { |
| - target-path = "/clocks"; |
| + target-path = "/"; |
| __overlay__ { |
| midi_clk: midi_clk { |
| compatible = "fixed-clock"; |
| --- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts |
| @@ -21,12 +21,6 @@ |
| pwdn-gpios = <&gpio 41 1>, <&gpio 32 1>; |
| clocks = <&ov5647_clk>; |
| |
| - ov5647_clk: camera-clk { |
| - compatible = "fixed-clock"; |
| - #clock-cells = <0>; |
| - clock-frequency = <25000000>; |
| - }; |
| - |
| port { |
| ov5647_0: endpoint { |
| remote-endpoint = <&csi1_ep>; |
| @@ -77,4 +71,15 @@ |
| cam0-led = <&ov5647>,"pwdn-gpios:16"; |
| }; |
| }; |
| + |
| + fragment@5 { |
| + target-path = "/"; |
| + __overlay__ { |
| + ov5647_clk: camera-clk { |
| + compatible = "fixed-clock"; |
| + #clock-cells = <0>; |
| + clock-frequency = <25000000>; |
| + }; |
| + }; |
| + }; |
| }; |
| --- a/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/rpivid-v4l2-overlay.dts |
| @@ -26,12 +26,6 @@ |
| |
| clocks = <&hevc_clk>; |
| clock-names = "hevc"; |
| - |
| - hevc_clk: hevc_clk { |
| - compatible = "fixed-clock"; |
| - #clock-cells = <0>; |
| - clock-frequency = <500000000>; |
| - }; |
| }; |
| }; |
| }; |
| @@ -53,4 +47,15 @@ |
| }; |
| }; |
| }; |
| + |
| + fragment@2 { |
| + target-path = "/"; |
| + __overlay__ { |
| + hevc_clk: hevc_clk { |
| + compatible = "fixed-clock"; |
| + #clock-cells = <0>; |
| + clock-frequency = <500000000>; |
| + }; |
| + }; |
| + }; |
| }; |
| --- a/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/sc16is752-spi1-overlay.dts |
| @@ -38,12 +38,6 @@ |
| #gpio-controller; |
| #gpio-cells = <2>; |
| spi-max-frequency = <4000000>; |
| - |
| - sc16is752_clk: sc16is752_clk { |
| - compatible = "fixed-clock"; |
| - #clock-cells = <0>; |
| - clock-frequency = <14745600>; |
| - }; |
| }; |
| }; |
| }; |
| @@ -55,8 +49,19 @@ |
| }; |
| }; |
| |
| - __overrides__ { |
| + fragment@3 { |
| + target-path = "/"; |
| + __overlay__ { |
| + sc16is752_clk: sc16is752_spi1_clk { |
| + compatible = "fixed-clock"; |
| + #clock-cells = <0>; |
| + clock-frequency = <14745600>; |
| + }; |
| + }; |
| + }; |
| + |
| + __overrides__ { |
| int_pin = <&sc16is752>,"interrupts:0"; |
| xtal = <&sc16is752_clk>,"clock-frequency:0"; |
| - }; |
| + }; |
| }; |
| --- a/arch/arm/boot/dts/overlays/tc358743-overlay.dts |
| +++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts |
| @@ -21,12 +21,6 @@ |
| clocks = <&tc358743_clk>; |
| clock-names = "refclk"; |
| |
| - tc358743_clk: bridge-clk { |
| - compatible = "fixed-clock"; |
| - #clock-cells = <0>; |
| - clock-frequency = <27000000>; |
| - }; |
| - |
| port { |
| tc358743: endpoint { |
| remote-endpoint = <&csi1_ep>; |
| @@ -81,6 +75,17 @@ |
| }; |
| }; |
| |
| + fragment@6 { |
| + target-path = "/"; |
| + __overlay__ { |
| + tc358743_clk: bridge-clk { |
| + compatible = "fixed-clock"; |
| + #clock-cells = <0>; |
| + clock-frequency = <27000000>; |
| + }; |
| + }; |
| + }; |
| + |
| __overrides__ { |
| 4lane = <0>, "-2+3"; |
| link-frequency = <&tc358743>,"link-frequencies#0"; |