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