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

Merge tag 'samsung-drivers-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers

Samsung SoC driver changes for v6.3

Deprecate syscon phandle to the PMU node in MIPI and DP video phy
drivers in favor of putting the device nodes directly under the PMU
nodes. This better reflects device hierarchy and allows later to solve
dtc W=1 and dtbs_check warnings.

* tag 'samsung-drivers-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
phy: samsung,mipi-video-phy: deprecate syscon phandle
phy: samsung,dp-video-phy: deprecate syscon phandle
dt-bindings: phy: samsung,mipi-video-phy: deprecate syscon phandle
dt-bindings: phy: samsung,dp-video-phy: deprecate syscon phandle
MAINTAINERS: arm64: tesla: correct pattern for directory
dt-bindings: soc: samsung: exynos-sysreg: correct indentation for deprecated
dt-bindings: soc: samsung: exynos-sysreg: add dedicated SYSREG compatibles to Exynosautov9
dt-bindings: soc: samsung: exynos-sysreg: add dedicated SYSREG compatibles to Exynos850
dt-bindings: soc: samsung: exynos-sysreg: Add tesla FSD sysreg compatibles
dt-bindings: soc: samsung: exynos-sysreg: add clocks for Exynos850
dt-bindings: soc: samsung: exynos-sysreg: add dedicated SYSREG compatibles to Exynos5433
dt-bindings: soc: samsung: exynos-sysreg: split from syscon

Link: https://lore.kernel.org/r/20230205144657.951749-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+105 -20
-6
Documentation/devicetree/bindings/mfd/syscon.yaml
··· 64 64 - rockchip,rk3568-qos 65 65 - rockchip,rk3588-qos 66 66 - rockchip,rv1126-qos 67 - - samsung,exynos3-sysreg 68 - - samsung,exynos4-sysreg 69 - - samsung,exynos5-sysreg 70 - - samsung,exynos5433-sysreg 71 - - samsung,exynos850-sysreg 72 - - samsung,exynosautov9-sysreg 73 67 74 68 - const: syscon 75 69
+2 -3
Documentation/devicetree/bindings/phy/samsung,dp-video-phy.yaml
··· 22 22 23 23 samsung,pmu-syscon: 24 24 $ref: /schemas/types.yaml#/definitions/phandle 25 + deprecated: true 25 26 description: 26 - Phandle to PMU system controller interface. 27 + Phandle to PMU system controller interface (if not a child of PMU). 27 28 28 29 required: 29 30 - compatible 30 31 - "#phy-cells" 31 - - samsung,pmu-syscon 32 32 33 33 additionalProperties: false 34 34 ··· 36 36 - | 37 37 phy { 38 38 compatible = "samsung,exynos5420-dp-video-phy"; 39 - samsung,pmu-syscon = <&pmu_system_controller>; 40 39 #phy-cells = <0>; 41 40 };
+5 -6
Documentation/devicetree/bindings/phy/samsung,mipi-video-phy.yaml
··· 35 35 36 36 syscon: 37 37 $ref: /schemas/types.yaml#/definitions/phandle 38 + deprecated: true 38 39 description: 39 40 Phandle to PMU system controller interface, valid only for 40 - samsung,s5pv210-mipi-video-phy and samsung,exynos5420-mipi-video-phy. 41 + samsung,s5pv210-mipi-video-phy and samsung,exynos5420-mipi-video-phy (if 42 + not a child of PMU). 41 43 42 44 samsung,pmu-syscon: 43 45 $ref: /schemas/types.yaml#/definitions/phandle 46 + deprecated: true 44 47 description: 45 48 Phandle to PMU system controller interface, valid for 46 - samsung,exynos5433-mipi-video-phy. 49 + samsung,exynos5433-mipi-video-phy (if not a child of PMU). 47 50 48 51 samsung,disp-sysreg: 49 52 $ref: /schemas/types.yaml#/definitions/phandle ··· 84 81 samsung,disp-sysreg: false 85 82 samsung,cam0-sysreg: false 86 83 samsung,cam1-sysreg: false 87 - required: 88 - - syscon 89 84 else: 90 85 properties: 91 86 syscon: false 92 87 required: 93 - - samsung,pmu-syscon 94 88 - samsung,disp-sysreg 95 89 - samsung,cam0-sysreg 96 90 - samsung,cam1-sysreg ··· 99 99 phy { 100 100 compatible = "samsung,exynos5433-mipi-video-phy"; 101 101 #phy-cells = <1>; 102 - samsung,pmu-syscon = <&pmu_system_controller>; 103 102 samsung,cam0-sysreg = <&syscon_cam0>; 104 103 samsung,cam1-sysreg = <&syscon_cam1>; 105 104 samsung,disp-sysreg = <&syscon_disp>;
+87
Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/soc/samsung/samsung,exynos-sysreg.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Samsung Exynos SoC series System Registers (SYSREG) 8 + 9 + maintainers: 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 + 12 + properties: 13 + compatible: 14 + oneOf: 15 + - items: 16 + - enum: 17 + - samsung,exynos3-sysreg 18 + - samsung,exynos4-sysreg 19 + - samsung,exynos5-sysreg 20 + - tesla,fsd-cam-sysreg 21 + - tesla,fsd-fsys0-sysreg 22 + - tesla,fsd-fsys1-sysreg 23 + - tesla,fsd-peric-sysreg 24 + - const: syscon 25 + - items: 26 + - enum: 27 + - samsung,exynos5433-cam0-sysreg 28 + - samsung,exynos5433-cam1-sysreg 29 + - samsung,exynos5433-disp-sysreg 30 + - samsung,exynos5433-fsys-sysreg 31 + - const: samsung,exynos5433-sysreg 32 + - const: syscon 33 + - items: 34 + - enum: 35 + - samsung,exynos5433-sysreg 36 + - samsung,exynos850-sysreg 37 + - samsung,exynosautov9-sysreg 38 + - const: syscon 39 + deprecated: true 40 + - items: 41 + - enum: 42 + - samsung,exynos850-cmgp-sysreg 43 + - samsung,exynos850-peri-sysreg 44 + - const: samsung,exynos850-sysreg 45 + - const: syscon 46 + - items: 47 + - enum: 48 + - samsung,exynosautov9-fsys2-sysreg 49 + - samsung,exynosautov9-peric0-sysreg 50 + - samsung,exynosautov9-peric1-sysreg 51 + - const: samsung,exynosautov9-sysreg 52 + - const: syscon 53 + 54 + reg: 55 + maxItems: 1 56 + 57 + clocks: 58 + maxItems: 1 59 + 60 + required: 61 + - compatible 62 + - reg 63 + 64 + allOf: 65 + - if: 66 + properties: 67 + compatible: 68 + contains: 69 + enum: 70 + - samsung,exynos850-cmgp-sysreg 71 + - samsung,exynos850-peri-sysreg 72 + - samsung,exynos850-sysreg 73 + then: 74 + required: 75 + - clocks 76 + else: 77 + properties: 78 + clocks: false 79 + 80 + additionalProperties: false 81 + 82 + examples: 83 + - | 84 + system-controller@10010000 { 85 + compatible = "samsung,exynos4-sysreg", "syscon"; 86 + reg = <0x10010000 0x400>; 87 + };
+1 -1
MAINTAINERS
··· 3010 3010 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 3011 3011 L: linux-samsung-soc@vger.kernel.org 3012 3012 S: Maintained 3013 - F: arch/arm64/boot/dts/tesla* 3013 + F: arch/arm64/boot/dts/tesla/ 3014 3014 3015 3015 ARM/TETON BGA MACHINE SUPPORT 3016 3016 M: "Mark F. Brown" <mark.brown314@gmail.com>
+5 -2
drivers/phy/samsung/phy-exynos-dp-video.c
··· 83 83 if (!state) 84 84 return -ENOMEM; 85 85 86 - state->regs = syscon_regmap_lookup_by_phandle(dev->of_node, 87 - "samsung,pmu-syscon"); 86 + state->regs = syscon_node_to_regmap(dev->parent->of_node); 87 + if (IS_ERR(state->regs)) 88 + /* Backwards compatible way */ 89 + state->regs = syscon_regmap_lookup_by_phandle(dev->of_node, 90 + "samsung,pmu-syscon"); 88 91 if (IS_ERR(state->regs)) { 89 92 dev_err(dev, "Failed to lookup PMU regmap\n"); 90 93 return PTR_ERR(state->regs);
+5 -2
drivers/phy/samsung/phy-exynos-mipi-video.c
··· 298 298 struct device *dev = &pdev->dev; 299 299 struct device_node *np = dev->of_node; 300 300 struct phy_provider *phy_provider; 301 - unsigned int i; 301 + unsigned int i = 0; 302 302 303 303 phy_dev = of_device_get_match_data(dev); 304 304 if (!phy_dev) ··· 308 308 if (!state) 309 309 return -ENOMEM; 310 310 311 - for (i = 0; i < phy_dev->num_regmaps; i++) { 311 + state->regmaps[i] = syscon_node_to_regmap(dev->parent->of_node); 312 + if (!IS_ERR(state->regmaps[i])) 313 + i++; 314 + for (; i < phy_dev->num_regmaps; i++) { 312 315 state->regmaps[i] = syscon_regmap_lookup_by_phandle(np, 313 316 phy_dev->regmap_names[i]); 314 317 if (IS_ERR(state->regmaps[i]))