# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/media/samsung,exynos4212-fimc-is.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Samsung Exynos4212/4412 SoC Imaging Subsystem (FIMC-IS) maintainers: - Krzysztof Kozlowski - Sylwester Nawrocki description: The FIMC-IS is a subsystem for processing image signal from an image sensor. The Exynos4x12 SoC series FIMC-IS V1.5 comprises of a dedicated ARM Cortex-A5 processor, ISP, DRC and FD IP blocks and peripheral devices such as UART, I2C and SPI bus controllers, PWM and ADC. properties: compatible: enum: - samsung,exynos4212-fimc-is reg: maxItems: 1 ranges: true '#address-cells': const: 1 '#size-cells': const: 1 clocks: maxItems: 21 clock-names: items: - const: lite0 - const: lite1 - const: ppmuispx - const: ppmuispmx - const: isp - const: drc - const: fd - const: mcuisp - const: gicisp - const: mcuctl_isp - const: pwm_isp - const: ispdiv0 - const: ispdiv1 - const: mcuispdiv0 - const: mcuispdiv1 - const: mpll - const: aclk200 - const: aclk400mcuisp - const: div_aclk200 - const: div_aclk400mcuisp - const: uart interrupts: maxItems: 2 iommus: maxItems: 4 iommu-names: items: - const: isp - const: drc - const: fd - const: mcuctl power-domains: maxItems: 1 samsung,pmu-syscon: $ref: /schemas/types.yaml#/definitions/phandle description: Power Management Unit (PMU) system controller interface, used to power/start the ISP. patternProperties: "^pmu@[0-9a-f]+$": type: object additionalProperties: false deprecated: true description: Node representing the SoC's Power Management Unit (duplicated with the correct PMU node in the SoC). Deprecated, use samsung,pmu-syscon. properties: reg: maxItems: 1 required: - reg "^i2c-isp@[0-9a-f]+$": type: object $ref: /schemas/i2c/i2c-controller.yaml# unevaluatedProperties: false description: ISP I2C bus controller properties: compatible: const: samsung,exynos4212-i2c-isp reg: maxItems: 1 clocks: maxItems: 1 clock-names: items: - const: i2c_isp pinctrl-0: true pinctrl-names: items: - const: default required: - compatible - reg - clocks - clock-names required: - compatible - reg - '#address-cells' - clocks - clock-names - interrupts - ranges - samsung,pmu-syscon - '#size-cells' additionalProperties: false examples: - | #include #include #include fimc-is@12000000 { compatible = "samsung,exynos4212-fimc-is"; reg = <0x12000000 0x260000>; interrupts = , ; clocks = <&isp_clock CLK_ISP_FIMC_LITE0>, <&isp_clock CLK_ISP_FIMC_LITE1>, <&isp_clock CLK_ISP_PPMUISPX>, <&isp_clock CLK_ISP_PPMUISPMX>, <&isp_clock CLK_ISP_FIMC_ISP>, <&isp_clock CLK_ISP_FIMC_DRC>, <&isp_clock CLK_ISP_FIMC_FD>, <&isp_clock CLK_ISP_MCUISP>, <&isp_clock CLK_ISP_GICISP>, <&isp_clock CLK_ISP_MCUCTL_ISP>, <&isp_clock CLK_ISP_PWM_ISP>, <&isp_clock CLK_ISP_DIV_ISP0>, <&isp_clock CLK_ISP_DIV_ISP1>, <&isp_clock CLK_ISP_DIV_MCUISP0>, <&isp_clock CLK_ISP_DIV_MCUISP1>, <&clock CLK_MOUT_MPLL_USER_T>, <&clock CLK_ACLK200>, <&clock CLK_ACLK400_MCUISP>, <&clock CLK_DIV_ACLK200>, <&clock CLK_DIV_ACLK400_MCUISP>, <&clock CLK_UART_ISP_SCLK>; clock-names = "lite0", "lite1", "ppmuispx", "ppmuispmx", "isp", "drc", "fd", "mcuisp", "gicisp", "mcuctl_isp", "pwm_isp", "ispdiv0", "ispdiv1", "mcuispdiv0", "mcuispdiv1", "mpll", "aclk200", "aclk400mcuisp", "div_aclk200", "div_aclk400mcuisp", "uart"; iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>, <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>; iommu-names = "isp", "drc", "fd", "mcuctl"; power-domains = <&pd_isp>; samsung,pmu-syscon = <&pmu_system_controller>; #address-cells = <1>; #size-cells = <1>; ranges; i2c-isp@12140000 { compatible = "samsung,exynos4212-i2c-isp"; reg = <0x12140000 0x100>; clocks = <&isp_clock CLK_ISP_I2C1_ISP>; clock-names = "i2c_isp"; pinctrl-0 = <&fimc_is_i2c1>; pinctrl-names = "default"; #address-cells = <1>; #size-cells = <0>; image-sensor@10 { compatible = "samsung,s5k6a3"; reg = <0x10>; svdda-supply = <&cam_io_reg>; svddio-supply = <&ldo19_reg>; afvdd-supply = <&ldo19_reg>; clock-frequency = <24000000>; clocks = <&camera 1>; clock-names = "extclk"; gpios = <&gpm1 6 GPIO_ACTIVE_LOW>; port { endpoint { remote-endpoint = <&csis1_ep>; data-lanes = <1>; }; }; }; }; };