Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'renesas-arm-dt-for-v5.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM DT updates for v5.17 (take two)

- Initial support for the R-Car S4-8 SoC on the Spider CPU and
BreakOut boards,
- MIPI DSI display support for the R-Car V3u SoC and the Falcon board
stack,
- Thermal and GPU support for the RZ/G2L SoC and the RZ/G2L SMARC EVK
development board,
- Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.17-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
arm64: dts: renesas: Fix pin controller node names
arm64: dts: renesas: rzg2l-smarc-som: Add vdd core regulator
arm64: dts: renesas: r9a07g044: Add Mali-G31 GPU node
arm64: dts: renesas: r9a07g044: Create thermal zone to support IPA
arm64: dts: renesas: r9a07g044: Add TSU node
arm64: dts: renesas: falcon-cpu: Add DSI display output
arm64: dts: renesas: r8a779a0: Add DSI encoders
arm64: dts: renesas: Add Renesas Spider boards support
arm64: dts: renesas: Add Renesas R8A779F0 SoC support
dt-bindings: clock: Add r8a779f0 CPG Core Clock Definitions
dt-bindings: power: Add r8a779f0 SYSC power domain definitions
arm64: dts: renesas: Fix thermal bindings

Link: https://lore.kernel.org/r/cover.1639736718.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+562 -30
+2
arch/arm64/boot/dts/renesas/Makefile
··· 63 63 64 64 dtb-$(CONFIG_ARCH_R8A779A0) += r8a779a0-falcon.dtb 65 65 66 + dtb-$(CONFIG_ARCH_R8A779F0) += r8a779f0-spider.dtb 67 + 66 68 dtb-$(CONFIG_ARCH_R8A77951) += r8a779m1-salvator-xs.dtb 67 69 dtb-$(CONFIG_ARCH_R8A77951) += r8a779m1-ulcb.dtb 68 70 dtb-$(CONFIG_ARCH_R8A77951) += r8a779m1-ulcb-kf.dtb
+3 -3
arch/arm64/boot/dts/renesas/r8a774a1.dtsi
··· 2788 2788 }; 2789 2789 2790 2790 thermal-zones { 2791 - sensor_thermal1: sensor-thermal1 { 2791 + sensor1_thermal: sensor1-thermal { 2792 2792 polling-delay-passive = <250>; 2793 2793 polling-delay = <1000>; 2794 2794 thermal-sensors = <&tsc 0>; ··· 2803 2803 }; 2804 2804 }; 2805 2805 2806 - sensor_thermal2: sensor-thermal2 { 2806 + sensor2_thermal: sensor2-thermal { 2807 2807 polling-delay-passive = <250>; 2808 2808 polling-delay = <1000>; 2809 2809 thermal-sensors = <&tsc 1>; ··· 2818 2818 }; 2819 2819 }; 2820 2820 2821 - sensor_thermal3: sensor-thermal3 { 2821 + sensor3_thermal: sensor3-thermal { 2822 2822 polling-delay-passive = <250>; 2823 2823 polling-delay = <1000>; 2824 2824 thermal-sensors = <&tsc 2>;
+3 -3
arch/arm64/boot/dts/renesas/r8a774b1.dtsi
··· 2633 2633 }; 2634 2634 2635 2635 thermal-zones { 2636 - sensor_thermal1: sensor-thermal1 { 2636 + sensor1_thermal: sensor1-thermal { 2637 2637 polling-delay-passive = <250>; 2638 2638 polling-delay = <1000>; 2639 2639 thermal-sensors = <&tsc 0>; ··· 2648 2648 }; 2649 2649 }; 2650 2650 2651 - sensor_thermal2: sensor-thermal2 { 2651 + sensor2_thermal: sensor2-thermal { 2652 2652 polling-delay-passive = <250>; 2653 2653 polling-delay = <1000>; 2654 2654 thermal-sensors = <&tsc 1>; ··· 2663 2663 }; 2664 2664 }; 2665 2665 2666 - sensor_thermal3: sensor-thermal3 { 2666 + sensor3_thermal: sensor3-thermal { 2667 2667 polling-delay-passive = <250>; 2668 2668 polling-delay = <1000>; 2669 2669 thermal-sensors = <&tsc 2>;
+3 -3
arch/arm64/boot/dts/renesas/r8a774e1.dtsi
··· 2908 2908 }; 2909 2909 2910 2910 thermal-zones { 2911 - sensor_thermal1: sensor-thermal1 { 2911 + sensor1_thermal: sensor1-thermal { 2912 2912 polling-delay-passive = <250>; 2913 2913 polling-delay = <1000>; 2914 2914 thermal-sensors = <&tsc 0>; ··· 2923 2923 }; 2924 2924 }; 2925 2925 2926 - sensor_thermal2: sensor-thermal2 { 2926 + sensor2_thermal: sensor2-thermal { 2927 2927 polling-delay-passive = <250>; 2928 2928 polling-delay = <1000>; 2929 2929 thermal-sensors = <&tsc 1>; ··· 2938 2938 }; 2939 2939 }; 2940 2940 2941 - sensor_thermal3: sensor-thermal3 { 2941 + sensor3_thermal: sensor3-thermal { 2942 2942 polling-delay-passive = <250>; 2943 2943 polling-delay = <1000>; 2944 2944 thermal-sensors = <&tsc 2>;
+3 -3
arch/arm64/boot/dts/renesas/r8a77951.dtsi
··· 3379 3379 }; 3380 3380 3381 3381 thermal-zones { 3382 - sensor_thermal1: sensor-thermal1 { 3382 + sensor1_thermal: sensor1-thermal { 3383 3383 polling-delay-passive = <250>; 3384 3384 polling-delay = <1000>; 3385 3385 thermal-sensors = <&tsc 0>; ··· 3394 3394 }; 3395 3395 }; 3396 3396 3397 - sensor_thermal2: sensor-thermal2 { 3397 + sensor2_thermal: sensor2-thermal { 3398 3398 polling-delay-passive = <250>; 3399 3399 polling-delay = <1000>; 3400 3400 thermal-sensors = <&tsc 1>; ··· 3409 3409 }; 3410 3410 }; 3411 3411 3412 - sensor_thermal3: sensor-thermal3 { 3412 + sensor3_thermal: sensor3-thermal { 3413 3413 polling-delay-passive = <250>; 3414 3414 polling-delay = <1000>; 3415 3415 thermal-sensors = <&tsc 2>;
+3 -3
arch/arm64/boot/dts/renesas/r8a77960.dtsi
··· 2976 2976 }; 2977 2977 2978 2978 thermal-zones { 2979 - sensor_thermal1: sensor-thermal1 { 2979 + sensor1_thermal: sensor1-thermal { 2980 2980 polling-delay-passive = <250>; 2981 2981 polling-delay = <1000>; 2982 2982 thermal-sensors = <&tsc 0>; ··· 2991 2991 }; 2992 2992 }; 2993 2993 2994 - sensor_thermal2: sensor-thermal2 { 2994 + sensor2_thermal: sensor2-thermal { 2995 2995 polling-delay-passive = <250>; 2996 2996 polling-delay = <1000>; 2997 2997 thermal-sensors = <&tsc 1>; ··· 3006 3006 }; 3007 3007 }; 3008 3008 3009 - sensor_thermal3: sensor-thermal3 { 3009 + sensor3_thermal: sensor3-thermal { 3010 3010 polling-delay-passive = <250>; 3011 3011 polling-delay = <1000>; 3012 3012 thermal-sensors = <&tsc 2>;
+3 -3
arch/arm64/boot/dts/renesas/r8a77961.dtsi
··· 2734 2734 }; 2735 2735 2736 2736 thermal-zones { 2737 - sensor_thermal1: sensor-thermal1 { 2737 + sensor1_thermal: sensor1-thermal { 2738 2738 polling-delay-passive = <250>; 2739 2739 polling-delay = <1000>; 2740 2740 thermal-sensors = <&tsc 0>; ··· 2749 2749 }; 2750 2750 }; 2751 2751 2752 - sensor_thermal2: sensor-thermal2 { 2752 + sensor2_thermal: sensor2-thermal { 2753 2753 polling-delay-passive = <250>; 2754 2754 polling-delay = <1000>; 2755 2755 thermal-sensors = <&tsc 1>; ··· 2764 2764 }; 2765 2765 }; 2766 2766 2767 - sensor_thermal3: sensor-thermal3 { 2767 + sensor3_thermal: sensor3-thermal { 2768 2768 polling-delay-passive = <250>; 2769 2769 polling-delay = <1000>; 2770 2770 thermal-sensors = <&tsc 2>;
+3 -3
arch/arm64/boot/dts/renesas/r8a77965.dtsi
··· 2788 2788 }; 2789 2789 2790 2790 thermal-zones { 2791 - sensor_thermal1: sensor-thermal1 { 2791 + sensor1_thermal: sensor1-thermal { 2792 2792 polling-delay-passive = <250>; 2793 2793 polling-delay = <1000>; 2794 2794 thermal-sensors = <&tsc 0>; ··· 2803 2803 }; 2804 2804 }; 2805 2805 2806 - sensor_thermal2: sensor-thermal2 { 2806 + sensor2_thermal: sensor2-thermal { 2807 2807 polling-delay-passive = <250>; 2808 2808 polling-delay = <1000>; 2809 2809 thermal-sensors = <&tsc 1>; ··· 2818 2818 }; 2819 2819 }; 2820 2820 2821 - sensor_thermal3: sensor-thermal3 { 2821 + sensor3_thermal: sensor3-thermal { 2822 2822 polling-delay-passive = <250>; 2823 2823 polling-delay = <1000>; 2824 2824 thermal-sensors = <&tsc 2>;
+2 -2
arch/arm64/boot/dts/renesas/r8a77980.dtsi
··· 1581 1581 }; 1582 1582 1583 1583 thermal-zones { 1584 - thermal-sensor-1 { 1584 + sensor1_thermal: sensor1-thermal { 1585 1585 polling-delay-passive = <250>; 1586 1586 polling-delay = <1000>; 1587 1587 thermal-sensors = <&tsc 0>; ··· 1600 1600 }; 1601 1601 }; 1602 1602 1603 - thermal-sensor-2 { 1603 + sensor2_thermal: sensor2-thermal { 1604 1604 polling-delay-passive = <250>; 1605 1605 polling-delay = <1000>; 1606 1606 thermal-sensors = <&tsc 1>;
+79
arch/arm64/boot/dts/renesas/r8a779a0-falcon-cpu.dtsi
··· 98 98 reg = <0x7 0x00000000 0x0 0x80000000>; 99 99 }; 100 100 101 + mini-dp-con { 102 + compatible = "dp-connector"; 103 + label = "CN5"; 104 + type = "mini"; 105 + 106 + port { 107 + mini_dp_con_in: endpoint { 108 + remote-endpoint = <&sn65dsi86_out>; 109 + }; 110 + }; 111 + }; 112 + 113 + reg_1p2v: regulator-1p2v { 114 + compatible = "regulator-fixed"; 115 + regulator-name = "fixed-1.2V"; 116 + regulator-min-microvolt = <1200000>; 117 + regulator-max-microvolt = <1200000>; 118 + regulator-boot-on; 119 + regulator-always-on; 120 + }; 121 + 101 122 reg_1p8v: regulator-1p8v { 102 123 compatible = "regulator-fixed"; 103 124 regulator-name = "fixed-1.8V"; ··· 136 115 regulator-boot-on; 137 116 regulator-always-on; 138 117 }; 118 + 119 + sn65dsi86_refclk: clk-x6 { 120 + compatible = "fixed-clock"; 121 + #clock-cells = <0>; 122 + clock-frequency = <38400000>; 123 + }; 124 + }; 125 + 126 + &dsi0 { 127 + status = "okay"; 128 + 129 + ports { 130 + port@1 { 131 + dsi0_out: endpoint { 132 + remote-endpoint = <&sn65dsi86_in>; 133 + data-lanes = <1 2 3 4>; 134 + }; 135 + }; 136 + }; 137 + }; 138 + 139 + &du { 140 + status = "okay"; 139 141 }; 140 142 141 143 &extal_clk { ··· 190 146 191 147 status = "okay"; 192 148 clock-frequency = <400000>; 149 + 150 + bridge@2c { 151 + compatible = "ti,sn65dsi86"; 152 + reg = <0x2c>; 153 + 154 + clocks = <&sn65dsi86_refclk>; 155 + clock-names = "refclk"; 156 + 157 + interrupt-parent = <&gpio1>; 158 + interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; 159 + 160 + vccio-supply = <&reg_1p8v>; 161 + vpll-supply = <&reg_1p8v>; 162 + vcca-supply = <&reg_1p2v>; 163 + vcc-supply = <&reg_1p2v>; 164 + 165 + ports { 166 + #address-cells = <1>; 167 + #size-cells = <0>; 168 + 169 + port@0 { 170 + reg = <0>; 171 + sn65dsi86_in: endpoint { 172 + remote-endpoint = <&dsi0_out>; 173 + }; 174 + }; 175 + 176 + port@1 { 177 + reg = <1>; 178 + sn65dsi86_out: endpoint { 179 + remote-endpoint = <&mini_dp_con_in>; 180 + }; 181 + }; 182 + }; 183 + }; 193 184 }; 194 185 195 186 &i2c6 {
+64 -6
arch/arm64/boot/dts/renesas/r8a779a0.dtsi
··· 87 87 status = "disabled"; 88 88 }; 89 89 90 - pfc: pin-controller@e6050000 { 90 + pfc: pinctrl@e6050000 { 91 91 compatible = "renesas,pfc-r8a779a0"; 92 92 reg = <0 0xe6050000 0 0x16c>, <0 0xe6050800 0 0x16c>, 93 93 <0 0xe6058000 0 0x16c>, <0 0xe6058800 0 0x16c>, ··· 2290 2290 port@0 { 2291 2291 reg = <0>; 2292 2292 du_out_dsi0: endpoint { 2293 + remote-endpoint = <&dsi0_in>; 2293 2294 }; 2294 2295 }; 2295 2296 2296 2297 port@1 { 2297 2298 reg = <1>; 2298 2299 du_out_dsi1: endpoint { 2300 + remote-endpoint = <&dsi1_in>; 2299 2301 }; 2300 2302 }; 2301 2303 }; ··· 2635 2633 }; 2636 2634 }; 2637 2635 2636 + dsi0: dsi-encoder@fed80000 { 2637 + compatible = "renesas,r8a779a0-dsi-csi2-tx"; 2638 + reg = <0 0xfed80000 0 0x10000>; 2639 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 2640 + clocks = <&cpg CPG_MOD 415>, 2641 + <&cpg CPG_CORE R8A779A0_CLK_DSI>, 2642 + <&cpg CPG_CORE R8A779A0_CLK_CL16MCK>; 2643 + clock-names = "fck", "dsi", "pll"; 2644 + resets = <&cpg 415>; 2645 + status = "disabled"; 2646 + 2647 + ports { 2648 + #address-cells = <1>; 2649 + #size-cells = <0>; 2650 + 2651 + port@0 { 2652 + reg = <0>; 2653 + dsi0_in: endpoint { 2654 + remote-endpoint = <&du_out_dsi0>; 2655 + }; 2656 + }; 2657 + 2658 + port@1 { 2659 + reg = <1>; 2660 + }; 2661 + }; 2662 + }; 2663 + 2664 + dsi1: dsi-encoder@fed90000 { 2665 + compatible = "renesas,r8a779a0-dsi-csi2-tx"; 2666 + reg = <0 0xfed90000 0 0x10000>; 2667 + power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 2668 + clocks = <&cpg CPG_MOD 416>, 2669 + <&cpg CPG_CORE R8A779A0_CLK_DSI>, 2670 + <&cpg CPG_CORE R8A779A0_CLK_CL16MCK>; 2671 + clock-names = "fck", "dsi", "pll"; 2672 + resets = <&cpg 416>; 2673 + status = "disabled"; 2674 + 2675 + ports { 2676 + #address-cells = <1>; 2677 + #size-cells = <0>; 2678 + 2679 + port@0 { 2680 + reg = <0>; 2681 + dsi1_in: endpoint { 2682 + remote-endpoint = <&du_out_dsi1>; 2683 + }; 2684 + }; 2685 + 2686 + port@1 { 2687 + reg = <1>; 2688 + }; 2689 + }; 2690 + }; 2691 + 2638 2692 prr: chipid@fff00044 { 2639 2693 compatible = "renesas,prr"; 2640 2694 reg = <0 0xfff00044 0 4>; ··· 2698 2640 }; 2699 2641 2700 2642 thermal-zones { 2701 - sensor_thermal1: sensor-thermal1 { 2643 + sensor1_thermal: sensor1-thermal { 2702 2644 polling-delay-passive = <250>; 2703 2645 polling-delay = <1000>; 2704 2646 thermal-sensors = <&tsc 0>; ··· 2712 2654 }; 2713 2655 }; 2714 2656 2715 - sensor_thermal2: sensor-thermal2 { 2657 + sensor2_thermal: sensor2-thermal { 2716 2658 polling-delay-passive = <250>; 2717 2659 polling-delay = <1000>; 2718 2660 thermal-sensors = <&tsc 1>; ··· 2726 2668 }; 2727 2669 }; 2728 2670 2729 - sensor_thermal3: sensor-thermal3 { 2671 + sensor3_thermal: sensor3-thermal { 2730 2672 polling-delay-passive = <250>; 2731 2673 polling-delay = <1000>; 2732 2674 thermal-sensors = <&tsc 2>; ··· 2740 2682 }; 2741 2683 }; 2742 2684 2743 - sensor_thermal4: sensor-thermal4 { 2685 + sensor4_thermal: sensor4-thermal { 2744 2686 polling-delay-passive = <250>; 2745 2687 polling-delay = <1000>; 2746 2688 thermal-sensors = <&tsc 3>; ··· 2754 2696 }; 2755 2697 }; 2756 2698 2757 - sensor_thermal5: sensor-thermal5 { 2699 + sensor5_thermal: sensor5-thermal { 2758 2700 polling-delay-passive = <250>; 2759 2701 polling-delay = <1000>; 2760 2702 thermal-sensors = <&tsc 4>;
+36
arch/arm64/boot/dts/renesas/r8a779f0-spider-cpu.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the Spider CPU board 4 + * 5 + * Copyright (C) 2021 Renesas Electronics Corp. 6 + */ 7 + 8 + #include "r8a779f0.dtsi" 9 + 10 + / { 11 + model = "Renesas Spider CPU board"; 12 + compatible = "renesas,spider-cpu", "renesas,r8a779f0"; 13 + 14 + memory@48000000 { 15 + device_type = "memory"; 16 + /* first 128MB is reserved for secure area. */ 17 + reg = <0x0 0x48000000 0x0 0x78000000>; 18 + }; 19 + 20 + memory@480000000 { 21 + device_type = "memory"; 22 + reg = <0x4 0x80000000 0x0 0x80000000>; 23 + }; 24 + }; 25 + 26 + &extal_clk { 27 + clock-frequency = <20000000>; 28 + }; 29 + 30 + &extalr_clk { 31 + clock-frequency = <32768>; 32 + }; 33 + 34 + &scif3 { 35 + status = "okay"; 36 + };
+22
arch/arm64/boot/dts/renesas/r8a779f0-spider.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the Spider CPU and BreakOut boards 4 + * 5 + * Copyright (C) 2021 Renesas Electronics Corp. 6 + */ 7 + 8 + /dts-v1/; 9 + #include "r8a779f0-spider-cpu.dtsi" 10 + 11 + / { 12 + model = "Renesas Spider CPU and Breakout boards based on r8a779f0"; 13 + compatible = "renesas,spider-breakout", "renesas,spider-cpu", "renesas,r8a779f0"; 14 + 15 + aliases { 16 + serial0 = &scif3; 17 + }; 18 + 19 + chosen { 20 + stdout-path = "serial0:115200n8"; 21 + }; 22 + };
+121
arch/arm64/boot/dts/renesas/r8a779f0.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + /* 3 + * Device Tree Source for the R-Car S4-8 (R8A779F0) SoC 4 + * 5 + * Copyright (C) 2021 Renesas Electronics Corp. 6 + */ 7 + 8 + #include <dt-bindings/clock/r8a779f0-cpg-mssr.h> 9 + #include <dt-bindings/interrupt-controller/arm-gic.h> 10 + #include <dt-bindings/power/r8a779f0-sysc.h> 11 + 12 + / { 13 + compatible = "renesas,r8a779f0"; 14 + #address-cells = <2>; 15 + #size-cells = <2>; 16 + 17 + cpus { 18 + #address-cells = <1>; 19 + #size-cells = <0>; 20 + 21 + a55_0: cpu@0 { 22 + compatible = "arm,cortex-a55"; 23 + reg = <0>; 24 + device_type = "cpu"; 25 + power-domains = <&sysc R8A779F0_PD_A1E0D0C0>; 26 + }; 27 + }; 28 + 29 + extal_clk: extal { 30 + compatible = "fixed-clock"; 31 + #clock-cells = <0>; 32 + /* This value must be overridden by the board */ 33 + clock-frequency = <0>; 34 + }; 35 + 36 + extalr_clk: extalr { 37 + compatible = "fixed-clock"; 38 + #clock-cells = <0>; 39 + /* This value must be overridden by the board */ 40 + clock-frequency = <0>; 41 + }; 42 + 43 + pmu_a55 { 44 + compatible = "arm,cortex-a55-pmu"; 45 + interrupts-extended = <&gic GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; 46 + }; 47 + 48 + /* External SCIF clock - to be overridden by boards that provide it */ 49 + scif_clk: scif { 50 + compatible = "fixed-clock"; 51 + #clock-cells = <0>; 52 + clock-frequency = <0>; 53 + }; 54 + 55 + soc: soc { 56 + compatible = "simple-bus"; 57 + interrupt-parent = <&gic>; 58 + #address-cells = <2>; 59 + #size-cells = <2>; 60 + ranges; 61 + 62 + cpg: clock-controller@e6150000 { 63 + compatible = "renesas,r8a779f0-cpg-mssr"; 64 + reg = <0 0xe6150000 0 0x4000>; 65 + clocks = <&extal_clk>, <&extalr_clk>; 66 + clock-names = "extal", "extalr"; 67 + #clock-cells = <2>; 68 + #power-domain-cells = <0>; 69 + #reset-cells = <1>; 70 + }; 71 + 72 + rst: reset-controller@e6160000 { 73 + compatible = "renesas,r8a779f0-rst"; 74 + reg = <0 0xe6160000 0 0x4000>; 75 + }; 76 + 77 + sysc: system-controller@e6180000 { 78 + compatible = "renesas,r8a779f0-sysc"; 79 + reg = <0 0xe6180000 0 0x4000>; 80 + #power-domain-cells = <1>; 81 + }; 82 + 83 + scif3: serial@e6c50000 { 84 + compatible = "renesas,scif-r8a779f0", 85 + "renesas,rcar-gen4-scif", "renesas,scif"; 86 + reg = <0 0xe6c50000 0 64>; 87 + interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>; 88 + clocks = <&cpg CPG_MOD 704>, 89 + <&cpg CPG_CORE R8A779F0_CLK_S0D3_PER>, 90 + <&scif_clk>; 91 + clock-names = "fck", "brg_int", "scif_clk"; 92 + power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>; 93 + resets = <&cpg 704>; 94 + status = "disabled"; 95 + }; 96 + 97 + gic: interrupt-controller@f1000000 { 98 + compatible = "arm,gic-v3"; 99 + #interrupt-cells = <3>; 100 + #address-cells = <0>; 101 + interrupt-controller; 102 + reg = <0x0 0xf1000000 0 0x20000>, 103 + <0x0 0xf1060000 0 0x110000>; 104 + interrupts = <GIC_PPI 9 105 + (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 106 + }; 107 + 108 + prr: chipid@fff00044 { 109 + compatible = "renesas,prr"; 110 + reg = <0 0xfff00044 0 4>; 111 + }; 112 + }; 113 + 114 + timer { 115 + compatible = "arm,armv8-timer"; 116 + interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 117 + <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 118 + <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 119 + <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 120 + }; 121 + };
+108 -1
arch/arm64/boot/dts/renesas/r9a07g044.dtsi
··· 88 88 compatible = "arm,cortex-a55"; 89 89 reg = <0>; 90 90 device_type = "cpu"; 91 + #cooling-cells = <2>; 91 92 next-level-cache = <&L3_CA55>; 92 93 enable-method = "psci"; 93 94 clocks = <&cpg CPG_CORE R9A07G044_CLK_I>; ··· 109 108 compatible = "cache"; 110 109 cache-unified; 111 110 cache-size = <0x40000>; 111 + }; 112 + }; 113 + 114 + gpu_opp_table: opp-table-1 { 115 + compatible = "operating-points-v2"; 116 + 117 + opp-500000000 { 118 + opp-hz = /bits/ 64 <500000000>; 119 + opp-microvolt = <1100000>; 120 + }; 121 + 122 + opp-400000000 { 123 + opp-hz = /bits/ 64 <400000000>; 124 + opp-microvolt = <1100000>; 125 + }; 126 + 127 + opp-250000000 { 128 + opp-hz = /bits/ 64 <250000000>; 129 + opp-microvolt = <1100000>; 130 + }; 131 + 132 + opp-200000000 { 133 + opp-hz = /bits/ 64 <200000000>; 134 + opp-microvolt = <1100000>; 135 + }; 136 + 137 + opp-125000000 { 138 + opp-hz = /bits/ 64 <125000000>; 139 + opp-microvolt = <1100000>; 140 + }; 141 + 142 + opp-100000000 { 143 + opp-hz = /bits/ 64 <100000000>; 144 + opp-microvolt = <1100000>; 145 + }; 146 + 147 + opp-62500000 { 148 + opp-hz = /bits/ 64 <62500000>; 149 + opp-microvolt = <1100000>; 150 + }; 151 + 152 + opp-50000000 { 153 + opp-hz = /bits/ 64 <50000000>; 154 + opp-microvolt = <1100000>; 112 155 }; 113 156 }; 114 157 ··· 584 539 }; 585 540 }; 586 541 542 + tsu: thermal@10059400 { 543 + compatible = "renesas,r9a07g044-tsu", 544 + "renesas,rzg2l-tsu"; 545 + reg = <0 0x10059400 0 0x400>; 546 + clocks = <&cpg CPG_MOD R9A07G044_TSU_PCLK>; 547 + resets = <&cpg R9A07G044_TSU_PRESETN>; 548 + power-domains = <&cpg>; 549 + #thermal-sensor-cells = <1>; 550 + }; 551 + 587 552 sbc: spi@10060000 { 588 553 compatible = "renesas,r9a07g044-rpc-if", 589 554 "renesas,rzg2l-rpc-if"; ··· 633 578 status = "disabled"; 634 579 }; 635 580 636 - pinctrl: pin-controller@11030000 { 581 + pinctrl: pinctrl@11030000 { 637 582 compatible = "renesas,r9a07g044-pinctrl"; 638 583 reg = <0 0x11030000 0 0x10000>; 639 584 gpio-controller; ··· 680 625 <&cpg R9A07G044_DMAC_RST_ASYNC>; 681 626 #dma-cells = <1>; 682 627 dma-channels = <16>; 628 + }; 629 + 630 + gpu: gpu@11840000 { 631 + compatible = "renesas,r9a07g044-mali", 632 + "arm,mali-bifrost"; 633 + reg = <0x0 0x11840000 0x0 0x10000>; 634 + interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 635 + <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>, 636 + <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 637 + <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 638 + interrupt-names = "job", "mmu", "gpu", "event"; 639 + clocks = <&cpg CPG_MOD R9A07G044_GPU_CLK>, 640 + <&cpg CPG_MOD R9A07G044_GPU_AXI_CLK>, 641 + <&cpg CPG_MOD R9A07G044_GPU_ACE_CLK>; 642 + clock-names = "gpu", "bus", "bus_ace"; 643 + power-domains = <&cpg>; 644 + resets = <&cpg R9A07G044_GPU_RESETN>, 645 + <&cpg R9A07G044_GPU_AXI_RESETN>, 646 + <&cpg R9A07G044_GPU_ACE_RESETN>; 647 + reset-names = "rst", "axi_rst", "ace_rst"; 648 + operating-points-v2 = <&gpu_opp_table>; 683 649 }; 684 650 685 651 gic: interrupt-controller@11900000 { ··· 975 899 resets = <&cpg R9A07G044_OSTM2_PRESETZ>; 976 900 power-domains = <&cpg>; 977 901 status = "disabled"; 902 + }; 903 + }; 904 + 905 + thermal-zones { 906 + cpu-thermal { 907 + polling-delay-passive = <250>; 908 + polling-delay = <1000>; 909 + thermal-sensors = <&tsu 0>; 910 + sustainable-power = <717>; 911 + 912 + cooling-maps { 913 + map0 { 914 + trip = <&target>; 915 + cooling-device = <&cpu0 0 2>; 916 + contribution = <1024>; 917 + }; 918 + }; 919 + 920 + trips { 921 + sensor_crit: sensor-crit { 922 + temperature = <125000>; 923 + hysteresis = <1000>; 924 + type = "critical"; 925 + }; 926 + 927 + target: trip-point { 928 + temperature = <100000>; 929 + hysteresis = <1000>; 930 + type = "passive"; 931 + }; 932 + }; 978 933 }; 979 934 }; 980 935
+13
arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi
··· 52 52 regulator-always-on; 53 53 }; 54 54 55 + reg_1p1v: regulator-vdd-core { 56 + compatible = "regulator-fixed"; 57 + regulator-name = "fixed-1.1V"; 58 + regulator-min-microvolt = <1100000>; 59 + regulator-max-microvolt = <1100000>; 60 + regulator-boot-on; 61 + regulator-always-on; 62 + }; 63 + 55 64 vccq_sdhi0: regulator-vccq-sdhi0 { 56 65 compatible = "regulator-gpio"; 57 66 ··· 137 128 138 129 &extal_clk { 139 130 clock-frequency = <24000000>; 131 + }; 132 + 133 + &gpu { 134 + mali-supply = <&reg_1p1v>; 140 135 }; 141 136 142 137 &ostm1 {
+64
include/dt-bindings/clock/r8a779f0-cpg-mssr.h
··· 1 + /* SPDX-License-Identifier: (GPL-2.0 or MIT) */ 2 + /* 3 + * Copyright (C) 2021 Renesas Electronics Corp. 4 + */ 5 + #ifndef __DT_BINDINGS_CLOCK_R8A779F0_CPG_MSSR_H__ 6 + #define __DT_BINDINGS_CLOCK_R8A779F0_CPG_MSSR_H__ 7 + 8 + #include <dt-bindings/clock/renesas-cpg-mssr.h> 9 + 10 + /* r8a779f0 CPG Core Clocks */ 11 + 12 + #define R8A779F0_CLK_ZX 0 13 + #define R8A779F0_CLK_ZS 1 14 + #define R8A779F0_CLK_ZT 2 15 + #define R8A779F0_CLK_ZTR 3 16 + #define R8A779F0_CLK_S0D2 4 17 + #define R8A779F0_CLK_S0D3 5 18 + #define R8A779F0_CLK_S0D4 6 19 + #define R8A779F0_CLK_S0D2_MM 7 20 + #define R8A779F0_CLK_S0D3_MM 8 21 + #define R8A779F0_CLK_S0D4_MM 9 22 + #define R8A779F0_CLK_S0D2_RT 10 23 + #define R8A779F0_CLK_S0D3_RT 11 24 + #define R8A779F0_CLK_S0D4_RT 12 25 + #define R8A779F0_CLK_S0D6_RT 13 26 + #define R8A779F0_CLK_S0D3_PER 14 27 + #define R8A779F0_CLK_S0D6_PER 15 28 + #define R8A779F0_CLK_S0D12_PER 16 29 + #define R8A779F0_CLK_S0D24_PER 17 30 + #define R8A779F0_CLK_S0D2_HSC 18 31 + #define R8A779F0_CLK_S0D3_HSC 19 32 + #define R8A779F0_CLK_S0D4_HSC 20 33 + #define R8A779F0_CLK_S0D6_HSC 21 34 + #define R8A779F0_CLK_S0D12_HSC 22 35 + #define R8A779F0_CLK_S0D2_CC 23 36 + #define R8A779F0_CLK_CL 24 37 + #define R8A779F0_CLK_CL16M 25 38 + #define R8A779F0_CLK_CL16M_MM 26 39 + #define R8A779F0_CLK_CL16M_RT 27 40 + #define R8A779F0_CLK_CL16M_PER 28 41 + #define R8A779F0_CLK_CL16M_HSC 29 42 + #define R8A779F0_CLK_Z0 30 43 + #define R8A779F0_CLK_Z1 31 44 + #define R8A779F0_CLK_ZB3 32 45 + #define R8A779F0_CLK_ZB3D2 33 46 + #define R8A779F0_CLK_ZB3D4 34 47 + #define R8A779F0_CLK_SD0H 35 48 + #define R8A779F0_CLK_SD0 36 49 + #define R8A779F0_CLK_RPC 37 50 + #define R8A779F0_CLK_RPCD2 38 51 + #define R8A779F0_CLK_MSO 39 52 + #define R8A779F0_CLK_SASYNCRT 40 53 + #define R8A779F0_CLK_SASYNCPERD1 41 54 + #define R8A779F0_CLK_SASYNCPERD2 42 55 + #define R8A779F0_CLK_SASYNCPERD4 43 56 + #define R8A779F0_CLK_DBGSOC_HSC 44 57 + #define R8A779F0_CLK_RSW2 45 58 + #define R8A779F0_CLK_OSC 46 59 + #define R8A779F0_CLK_ZR 47 60 + #define R8A779F0_CLK_CPEX 48 61 + #define R8A779F0_CLK_CBFUSA 49 62 + #define R8A779F0_CLK_R 50 63 + 64 + #endif /* __DT_BINDINGS_CLOCK_R8A779F0_CPG_MSSR_H__ */
+30
include/dt-bindings/power/r8a779f0-sysc.h
··· 1 + /* SPDX-License-Identifier: (GPL-2.0 or MIT) */ 2 + /* 3 + * Copyright (C) 2021 Renesas Electronics Corp. 4 + */ 5 + #ifndef __DT_BINDINGS_POWER_R8A779F0_SYSC_H__ 6 + #define __DT_BINDINGS_POWER_R8A779F0_SYSC_H__ 7 + 8 + /* 9 + * These power domain indices match the Power Domain Register Numbers (PDR) 10 + */ 11 + 12 + #define R8A779F0_PD_A1E0D0C0 0 13 + #define R8A779F0_PD_A1E0D0C1 1 14 + #define R8A779F0_PD_A1E0D1C0 2 15 + #define R8A779F0_PD_A1E0D1C1 3 16 + #define R8A779F0_PD_A1E1D0C0 4 17 + #define R8A779F0_PD_A1E1D0C1 5 18 + #define R8A779F0_PD_A1E1D1C0 6 19 + #define R8A779F0_PD_A1E1D1C1 7 20 + #define R8A779F0_PD_A2E0D0 16 21 + #define R8A779F0_PD_A2E0D1 17 22 + #define R8A779F0_PD_A2E1D0 18 23 + #define R8A779F0_PD_A2E1D1 19 24 + #define R8A779F0_PD_A3E0 20 25 + #define R8A779F0_PD_A3E1 21 26 + 27 + /* Always-on power area */ 28 + #define R8A779F0_PD_ALWAYS_ON 64 29 + 30 + #endif /* __DT_BINDINGS_POWER_R8A779A0_SYSC_H__*/