On Sat, Feb 26, 2022 at 02:52:20PM +0100, Ansuel Smith wrote: > This is an attempt in making the ipq8064 SoC actually usable. Currently > many feature are missing for this SoC and devs user off-the-tree patches > to make it work (example patch for missing clock, patch for cpufreq > driver, patch to add missing node in the dts) > > I notice there was some work in modernizing the gcc driver for other > qcom target but this wasn't done for ipq806x. This does exactly this, we > drop any parent_names stuff and we switch to the parent_data way. We > also drop the pxo and cxo source clk from gcc driver and we refer to the > dts for it. > > This also add all the missing feature for the nss cores and the > cryptoengine in them. It does also introduce the required flags to make > the RPM actually work and NOT reject any command. There was an attempt > in declaring these clock as core clock in the dts but this ends up in no > serial as the kernel makes these clock not accessible. We just want to > make the kernel NOT disable them if unused nothing more. > > At the end we update the ipq8064 dtsi to add the pxo and cxo tag and > declare them in gcc and also fix a problem with tsens probe. FWIW, series tested on my RB3011. No regressions, tsens driver now correctly loads. Tested-by: Jonathan McDowell <noodles@xxxxxxxx> > v6: > - Add more info about the changed define > - Fixed wrong definition for pxo/cxo parent map > v5: > - Drop patch removing fixed clk > - Use name in parent_data to keep compatibility with old dtb > - Fix error in the documentation commits > - Keep old copyright for gcc documentation > - Fix an error with the rcg floor ops > - Set nss clk based on the device compatible > v4: > - Drop drivers in all the patches. > - Introduce floor ops for sdc > - gcc.yaml to gcc-other.yaml > - gcc-common.yaml to gcc.yaml > v3: > - Rework Documentation with Rob suggestions > v2: > - Fix error from Rob bot. > - Add additional commits to make qcom,gcc.yaml a template > - Squash parent_hws patch with the modernize patch > - Create gcc_pxo instead of using long define. > > Ansuel Smith (15): > dt-bindings: clock: split qcom,gcc.yaml to common and specific schema > dt-bindings: clock: simplify qcom,gcc-apq8064 Documentation > dt-bindings: clock: document qcom,gcc-ipq8064 binding > clk: qcom: gcc-ipq806x: fix wrong naming for gcc_pxo_pll8_pll0 > clk: qcom: gcc-ipq806x: convert parent_names to parent_data > clk: qcom: gcc-ipq806x: use ARRAY_SIZE for num_parents > clk: qcom: gcc-ipq806x: add additional freq nss cores > clk: qcom: gcc-ipq806x: add unusued flag for critical clock > clk: qcom: clk-rcg: add clk_rcg_floor_ops ops > clk: qcom: gcc-ipq806x: add additional freq for sdc table > dt-bindings: clock: add ipq8064 ce5 clk define > clk: qcom: gcc-ipq806x: add CryptoEngine clocks > dt-bindings: reset: add ipq8064 ce5 resets > clk: qcom: gcc-ipq806x: add CryptoEngine resets > ARM: dts: qcom: add syscon and cxo/pxo clock to gcc node for ipq8064 > > .../bindings/clock/qcom,gcc-apq8064.yaml | 29 +- > .../bindings/clock/qcom,gcc-ipq8064.yaml | 76 ++ > .../bindings/clock/qcom,gcc-other.yaml | 70 ++ > .../devicetree/bindings/clock/qcom,gcc.yaml | 59 +- > arch/arm/boot/dts/qcom-ipq8064.dtsi | 8 +- > drivers/clk/qcom/clk-rcg.c | 24 + > drivers/clk/qcom/clk-rcg.h | 1 + > drivers/clk/qcom/gcc-ipq806x.c | 649 +++++++++++++----- > include/dt-bindings/clock/qcom,gcc-ipq806x.h | 5 +- > include/dt-bindings/reset/qcom,gcc-ipq806x.h | 5 + > 10 files changed, 685 insertions(+), 241 deletions(-) > create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml > create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml > > -- > 2.34.1 J. -- Web [ Even the Evening Herald slags me off. ] site: https:// [ ] Made by www.earth.li/~noodles/ [ ] HuggieTag 0.0.24