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