1*fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*fac71e4eSEmmanuel Vadot%YAML 1.2 3*fac71e4eSEmmanuel Vadot--- 4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/media/samsung,exynos4210-fimc.yaml# 5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*fac71e4eSEmmanuel Vadot 7*fac71e4eSEmmanuel Vadottitle: Samsung S5P/Exynos SoC Fully Integrated Mobile Camera 8*fac71e4eSEmmanuel Vadot 9*fac71e4eSEmmanuel Vadotmaintainers: 10*fac71e4eSEmmanuel Vadot - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11*fac71e4eSEmmanuel Vadot - Sylwester Nawrocki <s.nawrocki@samsung.com> 12*fac71e4eSEmmanuel Vadot 13*fac71e4eSEmmanuel Vadotdescription: 14*fac71e4eSEmmanuel Vadot Each FIMC device should have an alias in the aliases node, in the form of 15*fac71e4eSEmmanuel Vadot fimc<n>, where <n> is an integer specifying the IP block instance. 16*fac71e4eSEmmanuel Vadot 17*fac71e4eSEmmanuel Vadotproperties: 18*fac71e4eSEmmanuel Vadot compatible: 19*fac71e4eSEmmanuel Vadot enum: 20*fac71e4eSEmmanuel Vadot - samsung,exynos4210-fimc 21*fac71e4eSEmmanuel Vadot - samsung,exynos4212-fimc 22*fac71e4eSEmmanuel Vadot - samsung,s5pv210-fimc 23*fac71e4eSEmmanuel Vadot 24*fac71e4eSEmmanuel Vadot reg: 25*fac71e4eSEmmanuel Vadot maxItems: 1 26*fac71e4eSEmmanuel Vadot 27*fac71e4eSEmmanuel Vadot clocks: 28*fac71e4eSEmmanuel Vadot maxItems: 2 29*fac71e4eSEmmanuel Vadot 30*fac71e4eSEmmanuel Vadot clock-names: 31*fac71e4eSEmmanuel Vadot items: 32*fac71e4eSEmmanuel Vadot - const: fimc 33*fac71e4eSEmmanuel Vadot - const: sclk_fimc 34*fac71e4eSEmmanuel Vadot 35*fac71e4eSEmmanuel Vadot clock-frequency: 36*fac71e4eSEmmanuel Vadot description: 37*fac71e4eSEmmanuel Vadot Maximum FIMC local clock (LCLK) frequency. 38*fac71e4eSEmmanuel Vadot 39*fac71e4eSEmmanuel Vadot interrupts: 40*fac71e4eSEmmanuel Vadot maxItems: 1 41*fac71e4eSEmmanuel Vadot 42*fac71e4eSEmmanuel Vadot iommus: 43*fac71e4eSEmmanuel Vadot maxItems: 1 44*fac71e4eSEmmanuel Vadot 45*fac71e4eSEmmanuel Vadot power-domains: 46*fac71e4eSEmmanuel Vadot maxItems: 1 47*fac71e4eSEmmanuel Vadot 48*fac71e4eSEmmanuel Vadot samsung,cam-if: 49*fac71e4eSEmmanuel Vadot type: boolean 50*fac71e4eSEmmanuel Vadot description: 51*fac71e4eSEmmanuel Vadot The FIMC IP block includes the camera input interface. 52*fac71e4eSEmmanuel Vadot 53*fac71e4eSEmmanuel Vadot samsung,isp-wb: 54*fac71e4eSEmmanuel Vadot type: boolean 55*fac71e4eSEmmanuel Vadot description: | 56*fac71e4eSEmmanuel Vadot The FIMC IP block has the ISP writeback input. 57*fac71e4eSEmmanuel Vadot 58*fac71e4eSEmmanuel Vadot samsung,lcd-wb: 59*fac71e4eSEmmanuel Vadot type: boolean 60*fac71e4eSEmmanuel Vadot description: | 61*fac71e4eSEmmanuel Vadot The FIMC IP block has the LCD writeback input. 62*fac71e4eSEmmanuel Vadot 63*fac71e4eSEmmanuel Vadot samsung,mainscaler-ext: 64*fac71e4eSEmmanuel Vadot type: boolean 65*fac71e4eSEmmanuel Vadot description: 66*fac71e4eSEmmanuel Vadot FIMC IP supports extended image size and has CIEXTEN register. 67*fac71e4eSEmmanuel Vadot 68*fac71e4eSEmmanuel Vadot samsung,min-pix-alignment: 69*fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 70*fac71e4eSEmmanuel Vadot items: 71*fac71e4eSEmmanuel Vadot - description: Minimum supported image height alignment. 72*fac71e4eSEmmanuel Vadot - description: Horizontal image offset. 73*fac71e4eSEmmanuel Vadot description: 74*fac71e4eSEmmanuel Vadot The values are in pixels and default is <2 1>. 75*fac71e4eSEmmanuel Vadot 76*fac71e4eSEmmanuel Vadot samsung,min-pix-sizes: 77*fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 78*fac71e4eSEmmanuel Vadot maxItems: 2 79*fac71e4eSEmmanuel Vadot description: | 80*fac71e4eSEmmanuel Vadot An array specyfing minimum image size in pixels at the FIMC input and 81*fac71e4eSEmmanuel Vadot output DMA, in the first and second cell respectively. Default value 82*fac71e4eSEmmanuel Vadot is <16 16>. 83*fac71e4eSEmmanuel Vadot 84*fac71e4eSEmmanuel Vadot samsung,pix-limits: 85*fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 86*fac71e4eSEmmanuel Vadot maxItems: 4 87*fac71e4eSEmmanuel Vadot description: | 88*fac71e4eSEmmanuel Vadot An array of maximum supported image sizes in pixels, for details refer to 89*fac71e4eSEmmanuel Vadot Table 2-1 in the S5PV210 SoC User Manual. The meaning of each cell is as 90*fac71e4eSEmmanuel Vadot follows: 91*fac71e4eSEmmanuel Vadot 0 - scaler input horizontal size 92*fac71e4eSEmmanuel Vadot 1 - input horizontal size for the scaler bypassed 93*fac71e4eSEmmanuel Vadot 2 - REAL_WIDTH without input rotation 94*fac71e4eSEmmanuel Vadot 3 - REAL_HEIGHT with input rotation 95*fac71e4eSEmmanuel Vadot 96*fac71e4eSEmmanuel Vadot samsung,rotators: 97*fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 98*fac71e4eSEmmanuel Vadot default: 0x11 99*fac71e4eSEmmanuel Vadot description: | 100*fac71e4eSEmmanuel Vadot A bitmask specifying whether this IP has the input and the output 101*fac71e4eSEmmanuel Vadot rotator. Bits 4 and 0 correspond to input and output rotator 102*fac71e4eSEmmanuel Vadot respectively. If a rotator is present its corresponding bit should be 103*fac71e4eSEmmanuel Vadot set. 104*fac71e4eSEmmanuel Vadot 105*fac71e4eSEmmanuel Vadot samsung,sysreg: 106*fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 107*fac71e4eSEmmanuel Vadot description: 108*fac71e4eSEmmanuel Vadot System Registers (SYSREG) node. 109*fac71e4eSEmmanuel Vadot 110*fac71e4eSEmmanuel Vadotrequired: 111*fac71e4eSEmmanuel Vadot - compatible 112*fac71e4eSEmmanuel Vadot - reg 113*fac71e4eSEmmanuel Vadot - clocks 114*fac71e4eSEmmanuel Vadot - clock-names 115*fac71e4eSEmmanuel Vadot - samsung,pix-limits 116*fac71e4eSEmmanuel Vadot 117*fac71e4eSEmmanuel VadotallOf: 118*fac71e4eSEmmanuel Vadot - if: 119*fac71e4eSEmmanuel Vadot required: 120*fac71e4eSEmmanuel Vadot - samsung,isp-wb 121*fac71e4eSEmmanuel Vadot then: 122*fac71e4eSEmmanuel Vadot required: 123*fac71e4eSEmmanuel Vadot - samsung,sysreg 124*fac71e4eSEmmanuel Vadot 125*fac71e4eSEmmanuel VadotadditionalProperties: false 126*fac71e4eSEmmanuel Vadot 127*fac71e4eSEmmanuel Vadotexamples: 128*fac71e4eSEmmanuel Vadot - | 129*fac71e4eSEmmanuel Vadot #include <dt-bindings/clock/exynos4.h> 130*fac71e4eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 131*fac71e4eSEmmanuel Vadot 132*fac71e4eSEmmanuel Vadot fimc@11800000 { 133*fac71e4eSEmmanuel Vadot compatible = "samsung,exynos4212-fimc"; 134*fac71e4eSEmmanuel Vadot reg = <0x11800000 0x1000>; 135*fac71e4eSEmmanuel Vadot clocks = <&clock CLK_FIMC0>, 136*fac71e4eSEmmanuel Vadot <&clock CLK_SCLK_FIMC0>; 137*fac71e4eSEmmanuel Vadot clock-names = "fimc", "sclk_fimc"; 138*fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 139*fac71e4eSEmmanuel Vadot iommus = <&sysmmu_fimc0>; 140*fac71e4eSEmmanuel Vadot power-domains = <&pd_cam>; 141*fac71e4eSEmmanuel Vadot samsung,sysreg = <&sys_reg>; 142*fac71e4eSEmmanuel Vadot 143*fac71e4eSEmmanuel Vadot samsung,pix-limits = <4224 8192 1920 4224>; 144*fac71e4eSEmmanuel Vadot samsung,mainscaler-ext; 145*fac71e4eSEmmanuel Vadot samsung,isp-wb; 146*fac71e4eSEmmanuel Vadot samsung,cam-if; 147*fac71e4eSEmmanuel Vadot 148*fac71e4eSEmmanuel Vadot assigned-clocks = <&clock CLK_MOUT_FIMC0>, 149*fac71e4eSEmmanuel Vadot <&clock CLK_SCLK_FIMC0>; 150*fac71e4eSEmmanuel Vadot assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; 151*fac71e4eSEmmanuel Vadot assigned-clock-rates = <0>, <176000000>; 152*fac71e4eSEmmanuel Vadot }; 153