19f7d8d88SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 29f7d8d88SKrzysztof Kozlowski%YAML 1.2 39f7d8d88SKrzysztof Kozlowski--- 49f7d8d88SKrzysztof Kozlowski$id: http://devicetree.org/schemas/media/samsung,exynos4212-fimc-is.yaml# 59f7d8d88SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 69f7d8d88SKrzysztof Kozlowski 79f7d8d88SKrzysztof Kozlowskititle: Samsung Exynos4212/4412 SoC Imaging Subsystem (FIMC-IS) 89f7d8d88SKrzysztof Kozlowski 99f7d8d88SKrzysztof Kozlowskimaintainers: 109f7d8d88SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 119f7d8d88SKrzysztof Kozlowski - Sylwester Nawrocki <s.nawrocki@samsung.com> 129f7d8d88SKrzysztof Kozlowski 139f7d8d88SKrzysztof Kozlowskidescription: 149f7d8d88SKrzysztof Kozlowski The FIMC-IS is a subsystem for processing image signal from an image sensor. 159f7d8d88SKrzysztof Kozlowski The Exynos4x12 SoC series FIMC-IS V1.5 comprises of a dedicated ARM Cortex-A5 169f7d8d88SKrzysztof Kozlowski processor, ISP, DRC and FD IP blocks and peripheral devices such as UART, I2C 179f7d8d88SKrzysztof Kozlowski and SPI bus controllers, PWM and ADC. 189f7d8d88SKrzysztof Kozlowski 199f7d8d88SKrzysztof Kozlowskiproperties: 209f7d8d88SKrzysztof Kozlowski compatible: 219f7d8d88SKrzysztof Kozlowski enum: 229f7d8d88SKrzysztof Kozlowski - samsung,exynos4212-fimc-is 239f7d8d88SKrzysztof Kozlowski 249f7d8d88SKrzysztof Kozlowski reg: 259f7d8d88SKrzysztof Kozlowski maxItems: 1 269f7d8d88SKrzysztof Kozlowski 279f7d8d88SKrzysztof Kozlowski ranges: true 289f7d8d88SKrzysztof Kozlowski 299f7d8d88SKrzysztof Kozlowski '#address-cells': 309f7d8d88SKrzysztof Kozlowski const: 1 319f7d8d88SKrzysztof Kozlowski 329f7d8d88SKrzysztof Kozlowski '#size-cells': 339f7d8d88SKrzysztof Kozlowski const: 1 349f7d8d88SKrzysztof Kozlowski 359f7d8d88SKrzysztof Kozlowski clocks: 369f7d8d88SKrzysztof Kozlowski maxItems: 21 379f7d8d88SKrzysztof Kozlowski 389f7d8d88SKrzysztof Kozlowski clock-names: 399f7d8d88SKrzysztof Kozlowski items: 409f7d8d88SKrzysztof Kozlowski - const: lite0 419f7d8d88SKrzysztof Kozlowski - const: lite1 429f7d8d88SKrzysztof Kozlowski - const: ppmuispx 439f7d8d88SKrzysztof Kozlowski - const: ppmuispmx 449f7d8d88SKrzysztof Kozlowski - const: isp 459f7d8d88SKrzysztof Kozlowski - const: drc 469f7d8d88SKrzysztof Kozlowski - const: fd 479f7d8d88SKrzysztof Kozlowski - const: mcuisp 489f7d8d88SKrzysztof Kozlowski - const: gicisp 499f7d8d88SKrzysztof Kozlowski - const: mcuctl_isp 509f7d8d88SKrzysztof Kozlowski - const: pwm_isp 519f7d8d88SKrzysztof Kozlowski - const: ispdiv0 529f7d8d88SKrzysztof Kozlowski - const: ispdiv1 539f7d8d88SKrzysztof Kozlowski - const: mcuispdiv0 549f7d8d88SKrzysztof Kozlowski - const: mcuispdiv1 559f7d8d88SKrzysztof Kozlowski - const: mpll 569f7d8d88SKrzysztof Kozlowski - const: aclk200 579f7d8d88SKrzysztof Kozlowski - const: aclk400mcuisp 589f7d8d88SKrzysztof Kozlowski - const: div_aclk200 599f7d8d88SKrzysztof Kozlowski - const: div_aclk400mcuisp 609f7d8d88SKrzysztof Kozlowski - const: uart 619f7d8d88SKrzysztof Kozlowski 629f7d8d88SKrzysztof Kozlowski interrupts: 639f7d8d88SKrzysztof Kozlowski maxItems: 2 649f7d8d88SKrzysztof Kozlowski 659f7d8d88SKrzysztof Kozlowski iommus: 669f7d8d88SKrzysztof Kozlowski maxItems: 4 679f7d8d88SKrzysztof Kozlowski 689f7d8d88SKrzysztof Kozlowski iommu-names: 699f7d8d88SKrzysztof Kozlowski items: 709f7d8d88SKrzysztof Kozlowski - const: isp 719f7d8d88SKrzysztof Kozlowski - const: drc 729f7d8d88SKrzysztof Kozlowski - const: fd 739f7d8d88SKrzysztof Kozlowski - const: mcuctl 749f7d8d88SKrzysztof Kozlowski 759f7d8d88SKrzysztof Kozlowski power-domains: 769f7d8d88SKrzysztof Kozlowski maxItems: 1 779f7d8d88SKrzysztof Kozlowski 78*99e6eaabSKrzysztof Kozlowski samsung,pmu-syscon: 79*99e6eaabSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/phandle 80*99e6eaabSKrzysztof Kozlowski description: 81*99e6eaabSKrzysztof Kozlowski Power Management Unit (PMU) system controller interface, used to 82*99e6eaabSKrzysztof Kozlowski power/start the ISP. 83*99e6eaabSKrzysztof Kozlowski 849f7d8d88SKrzysztof KozlowskipatternProperties: 859f7d8d88SKrzysztof Kozlowski "^pmu@[0-9a-f]+$": 869f7d8d88SKrzysztof Kozlowski type: object 879f7d8d88SKrzysztof Kozlowski additionalProperties: false 88*99e6eaabSKrzysztof Kozlowski deprecated: true 899f7d8d88SKrzysztof Kozlowski description: 909f7d8d88SKrzysztof Kozlowski Node representing the SoC's Power Management Unit (duplicated with the 91*99e6eaabSKrzysztof Kozlowski correct PMU node in the SoC). Deprecated, use samsung,pmu-syscon. 929f7d8d88SKrzysztof Kozlowski 939f7d8d88SKrzysztof Kozlowski properties: 949f7d8d88SKrzysztof Kozlowski reg: 959f7d8d88SKrzysztof Kozlowski maxItems: 1 969f7d8d88SKrzysztof Kozlowski 979f7d8d88SKrzysztof Kozlowski required: 989f7d8d88SKrzysztof Kozlowski - reg 999f7d8d88SKrzysztof Kozlowski 1009f7d8d88SKrzysztof Kozlowski "^i2c-isp@[0-9a-f]+$": 1019f7d8d88SKrzysztof Kozlowski type: object 1029f7d8d88SKrzysztof Kozlowski $ref: /schemas/i2c/i2c-controller.yaml# 1039f7d8d88SKrzysztof Kozlowski unevaluatedProperties: false 1049f7d8d88SKrzysztof Kozlowski description: 1059f7d8d88SKrzysztof Kozlowski ISP I2C bus controller 1069f7d8d88SKrzysztof Kozlowski 1079f7d8d88SKrzysztof Kozlowski properties: 1089f7d8d88SKrzysztof Kozlowski compatible: 1099f7d8d88SKrzysztof Kozlowski const: samsung,exynos4212-i2c-isp 1109f7d8d88SKrzysztof Kozlowski 1119f7d8d88SKrzysztof Kozlowski reg: 1129f7d8d88SKrzysztof Kozlowski maxItems: 1 1139f7d8d88SKrzysztof Kozlowski 1149f7d8d88SKrzysztof Kozlowski 1159f7d8d88SKrzysztof Kozlowski clocks: 1169f7d8d88SKrzysztof Kozlowski maxItems: 1 1179f7d8d88SKrzysztof Kozlowski 1189f7d8d88SKrzysztof Kozlowski clock-names: 1199f7d8d88SKrzysztof Kozlowski items: 1209f7d8d88SKrzysztof Kozlowski - const: i2c_isp 1219f7d8d88SKrzysztof Kozlowski 1229f7d8d88SKrzysztof Kozlowski pinctrl-0: true 1239f7d8d88SKrzysztof Kozlowski pinctrl-names: 1249f7d8d88SKrzysztof Kozlowski items: 1259f7d8d88SKrzysztof Kozlowski - const: default 1269f7d8d88SKrzysztof Kozlowski 1279f7d8d88SKrzysztof Kozlowski required: 1289f7d8d88SKrzysztof Kozlowski - compatible 1299f7d8d88SKrzysztof Kozlowski - reg 1309f7d8d88SKrzysztof Kozlowski - clocks 1319f7d8d88SKrzysztof Kozlowski - clock-names 1329f7d8d88SKrzysztof Kozlowski 1339f7d8d88SKrzysztof Kozlowskirequired: 1349f7d8d88SKrzysztof Kozlowski - compatible 1359f7d8d88SKrzysztof Kozlowski - reg 1369f7d8d88SKrzysztof Kozlowski - '#address-cells' 1379f7d8d88SKrzysztof Kozlowski - clocks 1389f7d8d88SKrzysztof Kozlowski - clock-names 1399f7d8d88SKrzysztof Kozlowski - interrupts 1409f7d8d88SKrzysztof Kozlowski - ranges 141*99e6eaabSKrzysztof Kozlowski - samsung,pmu-syscon 1429f7d8d88SKrzysztof Kozlowski - '#size-cells' 1439f7d8d88SKrzysztof Kozlowski 1449f7d8d88SKrzysztof KozlowskiadditionalProperties: false 1459f7d8d88SKrzysztof Kozlowski 1469f7d8d88SKrzysztof Kozlowskiexamples: 1479f7d8d88SKrzysztof Kozlowski - | 1489f7d8d88SKrzysztof Kozlowski #include <dt-bindings/clock/exynos4.h> 1499f7d8d88SKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 1509f7d8d88SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 1519f7d8d88SKrzysztof Kozlowski 1529f7d8d88SKrzysztof Kozlowski fimc-is@12000000 { 1539f7d8d88SKrzysztof Kozlowski compatible = "samsung,exynos4212-fimc-is"; 1549f7d8d88SKrzysztof Kozlowski reg = <0x12000000 0x260000>; 1559f7d8d88SKrzysztof Kozlowski interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 1569f7d8d88SKrzysztof Kozlowski <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1579f7d8d88SKrzysztof Kozlowski clocks = <&isp_clock CLK_ISP_FIMC_LITE0>, 1589f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_FIMC_LITE1>, 1599f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_PPMUISPX>, 1609f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_PPMUISPMX>, 1619f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_FIMC_ISP>, 1629f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_FIMC_DRC>, 1639f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_FIMC_FD>, 1649f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_MCUISP>, 1659f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_GICISP>, 1669f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_MCUCTL_ISP>, 1679f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_PWM_ISP>, 1689f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_DIV_ISP0>, 1699f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_DIV_ISP1>, 1709f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_DIV_MCUISP0>, 1719f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_DIV_MCUISP1>, 1729f7d8d88SKrzysztof Kozlowski <&clock CLK_MOUT_MPLL_USER_T>, 1739f7d8d88SKrzysztof Kozlowski <&clock CLK_ACLK200>, 1749f7d8d88SKrzysztof Kozlowski <&clock CLK_ACLK400_MCUISP>, 1759f7d8d88SKrzysztof Kozlowski <&clock CLK_DIV_ACLK200>, 1769f7d8d88SKrzysztof Kozlowski <&clock CLK_DIV_ACLK400_MCUISP>, 1779f7d8d88SKrzysztof Kozlowski <&clock CLK_UART_ISP_SCLK>; 1789f7d8d88SKrzysztof Kozlowski clock-names = "lite0", "lite1", "ppmuispx", 1799f7d8d88SKrzysztof Kozlowski "ppmuispmx", "isp", 1809f7d8d88SKrzysztof Kozlowski "drc", "fd", "mcuisp", 1819f7d8d88SKrzysztof Kozlowski "gicisp", "mcuctl_isp", "pwm_isp", 1829f7d8d88SKrzysztof Kozlowski "ispdiv0", "ispdiv1", "mcuispdiv0", 1839f7d8d88SKrzysztof Kozlowski "mcuispdiv1", "mpll", "aclk200", 1849f7d8d88SKrzysztof Kozlowski "aclk400mcuisp", "div_aclk200", 1859f7d8d88SKrzysztof Kozlowski "div_aclk400mcuisp", "uart"; 1869f7d8d88SKrzysztof Kozlowski iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>, 1879f7d8d88SKrzysztof Kozlowski <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>; 1889f7d8d88SKrzysztof Kozlowski iommu-names = "isp", "drc", "fd", "mcuctl"; 1899f7d8d88SKrzysztof Kozlowski power-domains = <&pd_isp>; 190*99e6eaabSKrzysztof Kozlowski samsung,pmu-syscon = <&pmu_system_controller>; 1919f7d8d88SKrzysztof Kozlowski 1929f7d8d88SKrzysztof Kozlowski #address-cells = <1>; 1939f7d8d88SKrzysztof Kozlowski #size-cells = <1>; 1949f7d8d88SKrzysztof Kozlowski ranges; 1959f7d8d88SKrzysztof Kozlowski 1969f7d8d88SKrzysztof Kozlowski i2c-isp@12140000 { 1979f7d8d88SKrzysztof Kozlowski compatible = "samsung,exynos4212-i2c-isp"; 1989f7d8d88SKrzysztof Kozlowski reg = <0x12140000 0x100>; 1999f7d8d88SKrzysztof Kozlowski clocks = <&isp_clock CLK_ISP_I2C1_ISP>; 2009f7d8d88SKrzysztof Kozlowski clock-names = "i2c_isp"; 2019f7d8d88SKrzysztof Kozlowski pinctrl-0 = <&fimc_is_i2c1>; 2029f7d8d88SKrzysztof Kozlowski pinctrl-names = "default"; 2039f7d8d88SKrzysztof Kozlowski #address-cells = <1>; 2049f7d8d88SKrzysztof Kozlowski #size-cells = <0>; 2059f7d8d88SKrzysztof Kozlowski 2069f7d8d88SKrzysztof Kozlowski image-sensor@10 { 2079f7d8d88SKrzysztof Kozlowski compatible = "samsung,s5k6a3"; 2089f7d8d88SKrzysztof Kozlowski reg = <0x10>; 2099f7d8d88SKrzysztof Kozlowski svdda-supply = <&cam_io_reg>; 2109f7d8d88SKrzysztof Kozlowski svddio-supply = <&ldo19_reg>; 2119f7d8d88SKrzysztof Kozlowski afvdd-supply = <&ldo19_reg>; 2129f7d8d88SKrzysztof Kozlowski clock-frequency = <24000000>; 2139f7d8d88SKrzysztof Kozlowski clocks = <&camera 1>; 2149f7d8d88SKrzysztof Kozlowski clock-names = "extclk"; 2159f7d8d88SKrzysztof Kozlowski gpios = <&gpm1 6 GPIO_ACTIVE_LOW>; 2169f7d8d88SKrzysztof Kozlowski 2179f7d8d88SKrzysztof Kozlowski port { 2189f7d8d88SKrzysztof Kozlowski endpoint { 2199f7d8d88SKrzysztof Kozlowski remote-endpoint = <&csis1_ep>; 2209f7d8d88SKrzysztof Kozlowski data-lanes = <1>; 2219f7d8d88SKrzysztof Kozlowski }; 2229f7d8d88SKrzysztof Kozlowski }; 2239f7d8d88SKrzysztof Kozlowski }; 2249f7d8d88SKrzysztof Kozlowski }; 2259f7d8d88SKrzysztof Kozlowski }; 226