1*9f7d8d88SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*9f7d8d88SKrzysztof Kozlowski%YAML 1.2 3*9f7d8d88SKrzysztof Kozlowski--- 4*9f7d8d88SKrzysztof Kozlowski$id: http://devicetree.org/schemas/media/samsung,exynos4212-fimc-is.yaml# 5*9f7d8d88SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*9f7d8d88SKrzysztof Kozlowski 7*9f7d8d88SKrzysztof Kozlowskititle: Samsung Exynos4212/4412 SoC Imaging Subsystem (FIMC-IS) 8*9f7d8d88SKrzysztof Kozlowski 9*9f7d8d88SKrzysztof Kozlowskimaintainers: 10*9f7d8d88SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11*9f7d8d88SKrzysztof Kozlowski - Sylwester Nawrocki <s.nawrocki@samsung.com> 12*9f7d8d88SKrzysztof Kozlowski 13*9f7d8d88SKrzysztof Kozlowskidescription: 14*9f7d8d88SKrzysztof Kozlowski The FIMC-IS is a subsystem for processing image signal from an image sensor. 15*9f7d8d88SKrzysztof Kozlowski The Exynos4x12 SoC series FIMC-IS V1.5 comprises of a dedicated ARM Cortex-A5 16*9f7d8d88SKrzysztof Kozlowski processor, ISP, DRC and FD IP blocks and peripheral devices such as UART, I2C 17*9f7d8d88SKrzysztof Kozlowski and SPI bus controllers, PWM and ADC. 18*9f7d8d88SKrzysztof Kozlowski 19*9f7d8d88SKrzysztof Kozlowskiproperties: 20*9f7d8d88SKrzysztof Kozlowski compatible: 21*9f7d8d88SKrzysztof Kozlowski enum: 22*9f7d8d88SKrzysztof Kozlowski - samsung,exynos4212-fimc-is 23*9f7d8d88SKrzysztof Kozlowski 24*9f7d8d88SKrzysztof Kozlowski reg: 25*9f7d8d88SKrzysztof Kozlowski maxItems: 1 26*9f7d8d88SKrzysztof Kozlowski 27*9f7d8d88SKrzysztof Kozlowski ranges: true 28*9f7d8d88SKrzysztof Kozlowski 29*9f7d8d88SKrzysztof Kozlowski '#address-cells': 30*9f7d8d88SKrzysztof Kozlowski const: 1 31*9f7d8d88SKrzysztof Kozlowski 32*9f7d8d88SKrzysztof Kozlowski '#size-cells': 33*9f7d8d88SKrzysztof Kozlowski const: 1 34*9f7d8d88SKrzysztof Kozlowski 35*9f7d8d88SKrzysztof Kozlowski clocks: 36*9f7d8d88SKrzysztof Kozlowski maxItems: 21 37*9f7d8d88SKrzysztof Kozlowski 38*9f7d8d88SKrzysztof Kozlowski clock-names: 39*9f7d8d88SKrzysztof Kozlowski items: 40*9f7d8d88SKrzysztof Kozlowski - const: lite0 41*9f7d8d88SKrzysztof Kozlowski - const: lite1 42*9f7d8d88SKrzysztof Kozlowski - const: ppmuispx 43*9f7d8d88SKrzysztof Kozlowski - const: ppmuispmx 44*9f7d8d88SKrzysztof Kozlowski - const: isp 45*9f7d8d88SKrzysztof Kozlowski - const: drc 46*9f7d8d88SKrzysztof Kozlowski - const: fd 47*9f7d8d88SKrzysztof Kozlowski - const: mcuisp 48*9f7d8d88SKrzysztof Kozlowski - const: gicisp 49*9f7d8d88SKrzysztof Kozlowski - const: mcuctl_isp 50*9f7d8d88SKrzysztof Kozlowski - const: pwm_isp 51*9f7d8d88SKrzysztof Kozlowski - const: ispdiv0 52*9f7d8d88SKrzysztof Kozlowski - const: ispdiv1 53*9f7d8d88SKrzysztof Kozlowski - const: mcuispdiv0 54*9f7d8d88SKrzysztof Kozlowski - const: mcuispdiv1 55*9f7d8d88SKrzysztof Kozlowski - const: mpll 56*9f7d8d88SKrzysztof Kozlowski - const: aclk200 57*9f7d8d88SKrzysztof Kozlowski - const: aclk400mcuisp 58*9f7d8d88SKrzysztof Kozlowski - const: div_aclk200 59*9f7d8d88SKrzysztof Kozlowski - const: div_aclk400mcuisp 60*9f7d8d88SKrzysztof Kozlowski - const: uart 61*9f7d8d88SKrzysztof Kozlowski 62*9f7d8d88SKrzysztof Kozlowski interrupts: 63*9f7d8d88SKrzysztof Kozlowski maxItems: 2 64*9f7d8d88SKrzysztof Kozlowski 65*9f7d8d88SKrzysztof Kozlowski iommus: 66*9f7d8d88SKrzysztof Kozlowski maxItems: 4 67*9f7d8d88SKrzysztof Kozlowski 68*9f7d8d88SKrzysztof Kozlowski iommu-names: 69*9f7d8d88SKrzysztof Kozlowski items: 70*9f7d8d88SKrzysztof Kozlowski - const: isp 71*9f7d8d88SKrzysztof Kozlowski - const: drc 72*9f7d8d88SKrzysztof Kozlowski - const: fd 73*9f7d8d88SKrzysztof Kozlowski - const: mcuctl 74*9f7d8d88SKrzysztof Kozlowski 75*9f7d8d88SKrzysztof Kozlowski power-domains: 76*9f7d8d88SKrzysztof Kozlowski maxItems: 1 77*9f7d8d88SKrzysztof Kozlowski 78*9f7d8d88SKrzysztof KozlowskipatternProperties: 79*9f7d8d88SKrzysztof Kozlowski "^pmu@[0-9a-f]+$": 80*9f7d8d88SKrzysztof Kozlowski type: object 81*9f7d8d88SKrzysztof Kozlowski additionalProperties: false 82*9f7d8d88SKrzysztof Kozlowski description: 83*9f7d8d88SKrzysztof Kozlowski Node representing the SoC's Power Management Unit (duplicated with the 84*9f7d8d88SKrzysztof Kozlowski correct PMU node in the SoC). 85*9f7d8d88SKrzysztof Kozlowski 86*9f7d8d88SKrzysztof Kozlowski properties: 87*9f7d8d88SKrzysztof Kozlowski reg: 88*9f7d8d88SKrzysztof Kozlowski maxItems: 1 89*9f7d8d88SKrzysztof Kozlowski 90*9f7d8d88SKrzysztof Kozlowski required: 91*9f7d8d88SKrzysztof Kozlowski - reg 92*9f7d8d88SKrzysztof Kozlowski 93*9f7d8d88SKrzysztof Kozlowski "^i2c-isp@[0-9a-f]+$": 94*9f7d8d88SKrzysztof Kozlowski type: object 95*9f7d8d88SKrzysztof Kozlowski $ref: /schemas/i2c/i2c-controller.yaml# 96*9f7d8d88SKrzysztof Kozlowski unevaluatedProperties: false 97*9f7d8d88SKrzysztof Kozlowski description: 98*9f7d8d88SKrzysztof Kozlowski ISP I2C bus controller 99*9f7d8d88SKrzysztof Kozlowski 100*9f7d8d88SKrzysztof Kozlowski properties: 101*9f7d8d88SKrzysztof Kozlowski compatible: 102*9f7d8d88SKrzysztof Kozlowski const: samsung,exynos4212-i2c-isp 103*9f7d8d88SKrzysztof Kozlowski 104*9f7d8d88SKrzysztof Kozlowski reg: 105*9f7d8d88SKrzysztof Kozlowski maxItems: 1 106*9f7d8d88SKrzysztof Kozlowski 107*9f7d8d88SKrzysztof Kozlowski 108*9f7d8d88SKrzysztof Kozlowski clocks: 109*9f7d8d88SKrzysztof Kozlowski maxItems: 1 110*9f7d8d88SKrzysztof Kozlowski 111*9f7d8d88SKrzysztof Kozlowski clock-names: 112*9f7d8d88SKrzysztof Kozlowski items: 113*9f7d8d88SKrzysztof Kozlowski - const: i2c_isp 114*9f7d8d88SKrzysztof Kozlowski 115*9f7d8d88SKrzysztof Kozlowski pinctrl-0: true 116*9f7d8d88SKrzysztof Kozlowski pinctrl-names: 117*9f7d8d88SKrzysztof Kozlowski items: 118*9f7d8d88SKrzysztof Kozlowski - const: default 119*9f7d8d88SKrzysztof Kozlowski 120*9f7d8d88SKrzysztof Kozlowski required: 121*9f7d8d88SKrzysztof Kozlowski - compatible 122*9f7d8d88SKrzysztof Kozlowski - reg 123*9f7d8d88SKrzysztof Kozlowski - clocks 124*9f7d8d88SKrzysztof Kozlowski - clock-names 125*9f7d8d88SKrzysztof Kozlowski 126*9f7d8d88SKrzysztof Kozlowskirequired: 127*9f7d8d88SKrzysztof Kozlowski - compatible 128*9f7d8d88SKrzysztof Kozlowski - reg 129*9f7d8d88SKrzysztof Kozlowski - '#address-cells' 130*9f7d8d88SKrzysztof Kozlowski - clocks 131*9f7d8d88SKrzysztof Kozlowski - clock-names 132*9f7d8d88SKrzysztof Kozlowski - interrupts 133*9f7d8d88SKrzysztof Kozlowski - ranges 134*9f7d8d88SKrzysztof Kozlowski - '#size-cells' 135*9f7d8d88SKrzysztof Kozlowski 136*9f7d8d88SKrzysztof KozlowskiadditionalProperties: false 137*9f7d8d88SKrzysztof Kozlowski 138*9f7d8d88SKrzysztof Kozlowskiexamples: 139*9f7d8d88SKrzysztof Kozlowski - | 140*9f7d8d88SKrzysztof Kozlowski #include <dt-bindings/clock/exynos4.h> 141*9f7d8d88SKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 142*9f7d8d88SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 143*9f7d8d88SKrzysztof Kozlowski 144*9f7d8d88SKrzysztof Kozlowski fimc-is@12000000 { 145*9f7d8d88SKrzysztof Kozlowski compatible = "samsung,exynos4212-fimc-is"; 146*9f7d8d88SKrzysztof Kozlowski reg = <0x12000000 0x260000>; 147*9f7d8d88SKrzysztof Kozlowski interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 148*9f7d8d88SKrzysztof Kozlowski <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 149*9f7d8d88SKrzysztof Kozlowski clocks = <&isp_clock CLK_ISP_FIMC_LITE0>, 150*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_FIMC_LITE1>, 151*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_PPMUISPX>, 152*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_PPMUISPMX>, 153*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_FIMC_ISP>, 154*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_FIMC_DRC>, 155*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_FIMC_FD>, 156*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_MCUISP>, 157*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_GICISP>, 158*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_MCUCTL_ISP>, 159*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_PWM_ISP>, 160*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_DIV_ISP0>, 161*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_DIV_ISP1>, 162*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_DIV_MCUISP0>, 163*9f7d8d88SKrzysztof Kozlowski <&isp_clock CLK_ISP_DIV_MCUISP1>, 164*9f7d8d88SKrzysztof Kozlowski <&clock CLK_MOUT_MPLL_USER_T>, 165*9f7d8d88SKrzysztof Kozlowski <&clock CLK_ACLK200>, 166*9f7d8d88SKrzysztof Kozlowski <&clock CLK_ACLK400_MCUISP>, 167*9f7d8d88SKrzysztof Kozlowski <&clock CLK_DIV_ACLK200>, 168*9f7d8d88SKrzysztof Kozlowski <&clock CLK_DIV_ACLK400_MCUISP>, 169*9f7d8d88SKrzysztof Kozlowski <&clock CLK_UART_ISP_SCLK>; 170*9f7d8d88SKrzysztof Kozlowski clock-names = "lite0", "lite1", "ppmuispx", 171*9f7d8d88SKrzysztof Kozlowski "ppmuispmx", "isp", 172*9f7d8d88SKrzysztof Kozlowski "drc", "fd", "mcuisp", 173*9f7d8d88SKrzysztof Kozlowski "gicisp", "mcuctl_isp", "pwm_isp", 174*9f7d8d88SKrzysztof Kozlowski "ispdiv0", "ispdiv1", "mcuispdiv0", 175*9f7d8d88SKrzysztof Kozlowski "mcuispdiv1", "mpll", "aclk200", 176*9f7d8d88SKrzysztof Kozlowski "aclk400mcuisp", "div_aclk200", 177*9f7d8d88SKrzysztof Kozlowski "div_aclk400mcuisp", "uart"; 178*9f7d8d88SKrzysztof Kozlowski iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>, 179*9f7d8d88SKrzysztof Kozlowski <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>; 180*9f7d8d88SKrzysztof Kozlowski iommu-names = "isp", "drc", "fd", "mcuctl"; 181*9f7d8d88SKrzysztof Kozlowski power-domains = <&pd_isp>; 182*9f7d8d88SKrzysztof Kozlowski 183*9f7d8d88SKrzysztof Kozlowski #address-cells = <1>; 184*9f7d8d88SKrzysztof Kozlowski #size-cells = <1>; 185*9f7d8d88SKrzysztof Kozlowski ranges; 186*9f7d8d88SKrzysztof Kozlowski 187*9f7d8d88SKrzysztof Kozlowski pmu@10020000 { 188*9f7d8d88SKrzysztof Kozlowski reg = <0x10020000 0x3000>; 189*9f7d8d88SKrzysztof Kozlowski }; 190*9f7d8d88SKrzysztof Kozlowski 191*9f7d8d88SKrzysztof Kozlowski i2c-isp@12140000 { 192*9f7d8d88SKrzysztof Kozlowski compatible = "samsung,exynos4212-i2c-isp"; 193*9f7d8d88SKrzysztof Kozlowski reg = <0x12140000 0x100>; 194*9f7d8d88SKrzysztof Kozlowski clocks = <&isp_clock CLK_ISP_I2C1_ISP>; 195*9f7d8d88SKrzysztof Kozlowski clock-names = "i2c_isp"; 196*9f7d8d88SKrzysztof Kozlowski pinctrl-0 = <&fimc_is_i2c1>; 197*9f7d8d88SKrzysztof Kozlowski pinctrl-names = "default"; 198*9f7d8d88SKrzysztof Kozlowski #address-cells = <1>; 199*9f7d8d88SKrzysztof Kozlowski #size-cells = <0>; 200*9f7d8d88SKrzysztof Kozlowski 201*9f7d8d88SKrzysztof Kozlowski image-sensor@10 { 202*9f7d8d88SKrzysztof Kozlowski compatible = "samsung,s5k6a3"; 203*9f7d8d88SKrzysztof Kozlowski reg = <0x10>; 204*9f7d8d88SKrzysztof Kozlowski svdda-supply = <&cam_io_reg>; 205*9f7d8d88SKrzysztof Kozlowski svddio-supply = <&ldo19_reg>; 206*9f7d8d88SKrzysztof Kozlowski afvdd-supply = <&ldo19_reg>; 207*9f7d8d88SKrzysztof Kozlowski clock-frequency = <24000000>; 208*9f7d8d88SKrzysztof Kozlowski clocks = <&camera 1>; 209*9f7d8d88SKrzysztof Kozlowski clock-names = "extclk"; 210*9f7d8d88SKrzysztof Kozlowski gpios = <&gpm1 6 GPIO_ACTIVE_LOW>; 211*9f7d8d88SKrzysztof Kozlowski 212*9f7d8d88SKrzysztof Kozlowski port { 213*9f7d8d88SKrzysztof Kozlowski endpoint { 214*9f7d8d88SKrzysztof Kozlowski remote-endpoint = <&csis1_ep>; 215*9f7d8d88SKrzysztof Kozlowski data-lanes = <1>; 216*9f7d8d88SKrzysztof Kozlowski }; 217*9f7d8d88SKrzysztof Kozlowski }; 218*9f7d8d88SKrzysztof Kozlowski }; 219*9f7d8d88SKrzysztof Kozlowski }; 220*9f7d8d88SKrzysztof Kozlowski }; 221