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,s5c73m3.yaml# 5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*fac71e4eSEmmanuel Vadot 7*fac71e4eSEmmanuel Vadottitle: Samsung S5C73M3 8Mp camera ISP 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 The S5C73M3 camera ISP supports MIPI CSI-2 and parallel (ITU-R BT.656) 15*fac71e4eSEmmanuel Vadot video data busses. The I2C bus is the main control bus and additionally the 16*fac71e4eSEmmanuel Vadot SPI bus is used, mostly for transferring the firmware to and from the 17*fac71e4eSEmmanuel Vadot device. Two slave device nodes corresponding to these control bus 18*fac71e4eSEmmanuel Vadot interfaces are required and should be placed under respective bus 19*fac71e4eSEmmanuel Vadot controller nodes. 20*fac71e4eSEmmanuel Vadot 21*fac71e4eSEmmanuel Vadotproperties: 22*fac71e4eSEmmanuel Vadot compatible: 23*fac71e4eSEmmanuel Vadot const: samsung,s5c73m3 24*fac71e4eSEmmanuel Vadot 25*fac71e4eSEmmanuel Vadot reg: 26*fac71e4eSEmmanuel Vadot maxItems: 1 27*fac71e4eSEmmanuel Vadot 28*fac71e4eSEmmanuel Vadot clocks: 29*fac71e4eSEmmanuel Vadot maxItems: 1 30*fac71e4eSEmmanuel Vadot 31*fac71e4eSEmmanuel Vadot clock-names: 32*fac71e4eSEmmanuel Vadot items: 33*fac71e4eSEmmanuel Vadot - const: cis_extclk 34*fac71e4eSEmmanuel Vadot 35*fac71e4eSEmmanuel Vadot clock-frequency: 36*fac71e4eSEmmanuel Vadot default: 24000000 37*fac71e4eSEmmanuel Vadot description: cis_extclk clock frequency. 38*fac71e4eSEmmanuel Vadot 39*fac71e4eSEmmanuel Vadot standby-gpios: 40*fac71e4eSEmmanuel Vadot maxItems: 1 41*fac71e4eSEmmanuel Vadot description: STANDBY pin. 42*fac71e4eSEmmanuel Vadot 43*fac71e4eSEmmanuel Vadot vdda-supply: 44*fac71e4eSEmmanuel Vadot description: Analog power supply (1.2V). 45*fac71e4eSEmmanuel Vadot 46*fac71e4eSEmmanuel Vadot vdd-af-supply: 47*fac71e4eSEmmanuel Vadot description: lens power supply (2.8V). 48*fac71e4eSEmmanuel Vadot 49*fac71e4eSEmmanuel Vadot vddio-cis-supply: 50*fac71e4eSEmmanuel Vadot description: CIS I/O power supply (1.2V to 1.8V). 51*fac71e4eSEmmanuel Vadot 52*fac71e4eSEmmanuel Vadot vddio-host-supply: 53*fac71e4eSEmmanuel Vadot description: Host I/O power supply (1.8V to 2.8V). 54*fac71e4eSEmmanuel Vadot 55*fac71e4eSEmmanuel Vadot vdd-int-supply: 56*fac71e4eSEmmanuel Vadot description: Digital power supply (1.2V). 57*fac71e4eSEmmanuel Vadot 58*fac71e4eSEmmanuel Vadot vdd-reg-supply: 59*fac71e4eSEmmanuel Vadot description: Regulator input power supply (2.8V). 60*fac71e4eSEmmanuel Vadot 61*fac71e4eSEmmanuel Vadot xshutdown-gpios: 62*fac71e4eSEmmanuel Vadot maxItems: 1 63*fac71e4eSEmmanuel Vadot description: XSHUTDOWN pin. 64*fac71e4eSEmmanuel Vadot 65*fac71e4eSEmmanuel Vadot port: 66*fac71e4eSEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 67*fac71e4eSEmmanuel Vadot additionalProperties: false 68*fac71e4eSEmmanuel Vadot 69*fac71e4eSEmmanuel Vadot properties: 70*fac71e4eSEmmanuel Vadot endpoint: 71*fac71e4eSEmmanuel Vadot $ref: /schemas/media/video-interfaces.yaml# 72*fac71e4eSEmmanuel Vadot unevaluatedProperties: false 73*fac71e4eSEmmanuel Vadot 74*fac71e4eSEmmanuel Vadot properties: 75*fac71e4eSEmmanuel Vadot data-lanes: 76*fac71e4eSEmmanuel Vadot items: 77*fac71e4eSEmmanuel Vadot - const: 1 78*fac71e4eSEmmanuel Vadot - const: 2 79*fac71e4eSEmmanuel Vadot - const: 3 80*fac71e4eSEmmanuel Vadot - const: 4 81*fac71e4eSEmmanuel Vadot 82*fac71e4eSEmmanuel Vadotrequired: 83*fac71e4eSEmmanuel Vadot - compatible 84*fac71e4eSEmmanuel Vadot - reg 85*fac71e4eSEmmanuel Vadot 86*fac71e4eSEmmanuel VadotallOf: 87*fac71e4eSEmmanuel Vadot - $ref: /schemas/spi/spi-peripheral-props.yaml# 88*fac71e4eSEmmanuel Vadot - if: 89*fac71e4eSEmmanuel Vadot required: 90*fac71e4eSEmmanuel Vadot - spi-max-frequency 91*fac71e4eSEmmanuel Vadot then: 92*fac71e4eSEmmanuel Vadot properties: 93*fac71e4eSEmmanuel Vadot # The SPI node is simplified firmware-transfer interface only 94*fac71e4eSEmmanuel Vadot clocks: false 95*fac71e4eSEmmanuel Vadot clock-names: false 96*fac71e4eSEmmanuel Vadot standby-gpios: false 97*fac71e4eSEmmanuel Vadot vdda-supply: false 98*fac71e4eSEmmanuel Vadot vdd-af-supply: false 99*fac71e4eSEmmanuel Vadot vddio-cis-supply: false 100*fac71e4eSEmmanuel Vadot vddio-host-supply: false 101*fac71e4eSEmmanuel Vadot vdd-int-supply: false 102*fac71e4eSEmmanuel Vadot vdd-reg-supply: false 103*fac71e4eSEmmanuel Vadot xshutdown-gpios: false 104*fac71e4eSEmmanuel Vadot port: false 105*fac71e4eSEmmanuel Vadot else: 106*fac71e4eSEmmanuel Vadot required: 107*fac71e4eSEmmanuel Vadot - clocks 108*fac71e4eSEmmanuel Vadot - clock-names 109*fac71e4eSEmmanuel Vadot - standby-gpios 110*fac71e4eSEmmanuel Vadot - vdda-supply 111*fac71e4eSEmmanuel Vadot - vdd-af-supply 112*fac71e4eSEmmanuel Vadot - vddio-cis-supply 113*fac71e4eSEmmanuel Vadot - vddio-host-supply 114*fac71e4eSEmmanuel Vadot - vdd-int-supply 115*fac71e4eSEmmanuel Vadot - vdd-reg-supply 116*fac71e4eSEmmanuel Vadot - xshutdown-gpios 117*fac71e4eSEmmanuel Vadot - port 118*fac71e4eSEmmanuel Vadot 119*fac71e4eSEmmanuel VadotunevaluatedProperties: false 120*fac71e4eSEmmanuel Vadot 121*fac71e4eSEmmanuel Vadotexamples: 122*fac71e4eSEmmanuel Vadot - | 123*fac71e4eSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 124*fac71e4eSEmmanuel Vadot 125*fac71e4eSEmmanuel Vadot i2c { 126*fac71e4eSEmmanuel Vadot #address-cells = <1>; 127*fac71e4eSEmmanuel Vadot #size-cells = <0>; 128*fac71e4eSEmmanuel Vadot 129*fac71e4eSEmmanuel Vadot image-sensor@3c { 130*fac71e4eSEmmanuel Vadot compatible = "samsung,s5c73m3"; 131*fac71e4eSEmmanuel Vadot reg = <0x3c>; 132*fac71e4eSEmmanuel Vadot clock-frequency = <24000000>; 133*fac71e4eSEmmanuel Vadot clocks = <&camera 0>; 134*fac71e4eSEmmanuel Vadot clock-names = "cis_extclk"; 135*fac71e4eSEmmanuel Vadot standby-gpios = <&gpm0 6 GPIO_ACTIVE_LOW>; 136*fac71e4eSEmmanuel Vadot vdda-supply = <&cam_vdda_reg>; 137*fac71e4eSEmmanuel Vadot vdd-af-supply = <&cam_af_reg>; 138*fac71e4eSEmmanuel Vadot vddio-cis-supply = <&ldo9_reg>; 139*fac71e4eSEmmanuel Vadot vddio-host-supply = <&ldo18_reg>; 140*fac71e4eSEmmanuel Vadot vdd-int-supply = <&buck9_reg>; 141*fac71e4eSEmmanuel Vadot vdd-reg-supply = <&cam_io_reg>; 142*fac71e4eSEmmanuel Vadot xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */ 143*fac71e4eSEmmanuel Vadot 144*fac71e4eSEmmanuel Vadot port { 145*fac71e4eSEmmanuel Vadot s5c73m3_ep: endpoint { 146*fac71e4eSEmmanuel Vadot remote-endpoint = <&csis0_ep>; 147*fac71e4eSEmmanuel Vadot data-lanes = <1 2 3 4>; 148*fac71e4eSEmmanuel Vadot }; 149*fac71e4eSEmmanuel Vadot }; 150*fac71e4eSEmmanuel Vadot }; 151*fac71e4eSEmmanuel Vadot }; 152*fac71e4eSEmmanuel Vadot 153*fac71e4eSEmmanuel Vadot spi { 154*fac71e4eSEmmanuel Vadot #address-cells = <1>; 155*fac71e4eSEmmanuel Vadot #size-cells = <0>; 156*fac71e4eSEmmanuel Vadot 157*fac71e4eSEmmanuel Vadot image-sensor@0 { 158*fac71e4eSEmmanuel Vadot compatible = "samsung,s5c73m3"; 159*fac71e4eSEmmanuel Vadot reg = <0>; 160*fac71e4eSEmmanuel Vadot spi-max-frequency = <50000000>; 161*fac71e4eSEmmanuel Vadot controller-data { 162*fac71e4eSEmmanuel Vadot samsung,spi-feedback-delay = <2>; 163*fac71e4eSEmmanuel Vadot }; 164*fac71e4eSEmmanuel Vadot }; 165*fac71e4eSEmmanuel Vadot }; 166