Re: [PATCH v2 1/2] dt-bindings: media: i2c: Add Samsung S5KJN5 image sensor

Wenmeng Liu <[email protected]> Fri, 31 Jul 2026 16:15:22 +0800
Newsgroups org.kernel.vger.linux-media,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Vladimir,

On 7/24/2026 10:12 PM, Vladimir Zapolskiy wrote:
> On 7/24/26 12:50, Wenmeng Liu wrote:
>> Add device tree bindings for the Samsung S5KJN5, a 50 MP GBRG 10-bit RAW
>> MIPI CSI-2 image sensor controlled over CCI.
>>
>> Reviewed-by: Krzysztof Kozlowski <[email protected]>
>> Signed-off-by: Wenmeng Liu <[email protected]>
>> ---
>>   .../bindings/media/i2c/samsung,s5kjn5.yaml         | 113 +++++++++++ 
>> ++++++++++
>>   MAINTAINERS                                        |   6 ++
>>   2 files changed, 119 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/media/i2c/ 
>> samsung,s5kjn5.yaml b/Documentation/devicetree/bindings/media/i2c/ 
>> samsung,s5kjn5.yaml
>> new file mode 100644
>> index 
>> 0000000000000000000000000000000000000000..9526d2bc5f5be236d7e3d0f1409df2ef991dd0e7
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/i2c/samsung,s5kjn5.yaml
>> @@ -0,0 +1,113 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/media/i2c/samsung,s5kjn5.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Samsung S5KJN5 Image Sensor
>> +
>> +description:
>> +  Samsung S5KJN5 is a 50MP GBRG 10-bit RAW MIPI CSI-2 image sensor.
>> +  The sensor is controlled over I2C. The full resolution pixel array is
>> +  8192x6144, data output format is RAW10 transferred over 4-lane MIPI
>> +  D-PHY interface.
>> +
>> +maintainers:
>> +  - Wenmeng Liu <[email protected]>
>> +
>> +allOf:
>> +  - $ref: /schemas/media/video-interface-devices.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    const: samsung,s5kjn5
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    description: MCLK/XVCLK input clock.
>> +    maxItems: 1
>> +
>> +  reset-gpios:
>> +    description: Active low GPIO connected to RESET pad of the sensor.
>> +    maxItems: 1
>> +
>> +  vddio-supply:
>> +    description:
>> +      1.8 volt I/O voltage supply (VDD18). Required for both 1.8 and 
>> 1.2 volt
>> +      I/O operation.
>> +
>> +  vddd-supply:
>> +    description: Digital core voltage supply, 1.0 volts.
>> +
>> +  vdda-supply:
>> +    description: Analogue voltage supply, 2.2 volts.
>> +
>> +  vddio1p2-supply:
>> +    description:
>> +      1.2 volt I/O voltage supply (VDDIO12). Required only for 1.2 
>> volt I/O
>> +      operation.
>> +
>> +  afvdd-supply:
>> +    description: Autofocus actuator voltage supply, 2.8-3.0 volts.
>> +
>> +  port:
>> +    $ref: /schemas/graph.yaml#/$defs/port-base
>> +    additionalProperties: false
>> +
>> +    properties:
>> +      endpoint:
>> +        $ref: /schemas/media/video-interfaces.yaml#
>> +        unevaluatedProperties: false
>> +
>> +        properties:
>> +          data-lanes:
>> +            items:
>> +              - const: 1
>> +              - const: 2
>> +              - const: 3
>> +              - const: 4
>> +
>> +        required:
>> +          - link-frequencies
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - clocks
>> +  - port
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> +  - |
>> +      #include <dt-bindings/gpio/gpio.h>
>> +
>> +      i2c {
>> +          #address-cells = <1>;
>> +          #size-cells = <0>;
>> +
>> +          camera@10 {
>> +              compatible = "samsung,s5kjn5";
>> +              reg = <0x10>;
>> +              clocks = <&camera_mclk 0>;
>> +              assigned-clocks = <&camera_mclk 0>;
>> +              assigned-clock-rates = <19200000>;
>> +              reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
>> +              vddio-supply = <&vreg_1p8>;
>> +              vddd-supply = <&vreg_1p0>;
>> +              vdda-supply = <&vreg_2p2>;
>> +              vddio1p2-supply = <&vreg_1p2>;
>> +              afvdd-supply = <&vreg_2p8>;
>> +
>> +              port {
>> +                  endpoint {
>> +                      link-frequencies = /bits/ 64 <1248000000>;
>> +                      data-lanes = <1 2 3 4>;
>> +                      remote-endpoint = <&mipi_csi2_ep>;
>> +                  };
>> +              };
>> +          };
>> +      };
> 
> It looks almost identical to samsung,s5kjn1.yaml, this sensor has
> an additional vddio1p2-supply though.
> 

Apologies for the incomplete power description. My previous definition 
was based solely on the module implementation. The correct differences 
are as follows:


JN5:
VDDD -- 1V
VDDA -- 2.2 V (different)
VDDIO -- 1.8V
VDDIO1p2 -- 1.2V (Add)
VDDM -- 1V (Add)

JN1:
VDDD -- 1V
VDDA -- 2.8V
VDDIO -- 1.8V

Would a separate binding be more appropriate for this case? I’d 
appreciate your thoughts on this.


Thanks,
Wenmeng