From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 727FD390DB9 for ; Fri, 19 Dec 2025 16:18:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766161141; cv=none; b=ENgQ55GJtfjHLKItk2gWM9NpNeOxbMRTqV+kknu1OcwZrZIDmwhdlYSRWJRXdcAzwKw9Q47z6dOS2Oy/rhLRbrDD0ykGXdhg9ALKFmwiU4DxuP2gL5aghUwOIvrKFj6QJbS2KIoQZEepAPEvo97qkW7h+Ywnhu1opmInyzrfJWM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766161141; c=relaxed/simple; bh=76McvnfT1vgXqcmj5nLToKdiSaYoQdSKm0XytE77Gg8=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Bymoh8kcxogWv8Dl0ulg9awWjgd0coQnl3Wlp6sTu+5j8e01sfh91toug/ODkbgpiWoZZBrFeKauz107GzXPc/s9rheD+ebdBMWsrF/P2zC0fo0ZAJnbBZeaZrjam+EXG09dfbD+UiBeweHSarZx2zeeU7+I8ZaSsm11D1M+ie0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=KzfCMohl; arc=none smtp.client-ip=209.85.167.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="KzfCMohl" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-594285eed50so126315e87.0 for ; Fri, 19 Dec 2025 08:18:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1766161138; x=1766765938; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=X/Hi71EFMwbT8ptNwXW/+PuikNBEe+nI+EX1MWn7rrc=; b=KzfCMohluoFutBJeB+siIcTTjLp9eupIKWdc6piLhDQHCmm04hQMdqAxuYH7tMz4xA p5TVLapzwt3prWDVYqKNmXCtf0JWnzwU8VcCrke2HNZOOre4mrZ5l47z55u3m3+Xn77b GY6cq3NV2xHFxKUW3XNPTOqhnzGte6FFvaUBWTwzqDnpkmUNc8VQzX6IFdoUI2tj9owN 96eNkT/w1sMzNuQQM+uDf98hYU29Tzo3op/X6+MfYxxfAbv5sXlgF47eRSp7fG1/SvVn KfwF/DW8Vidin1MexpMBs2WNp88yTVt0ypmUi9D7njC0DYfnwbhvR3W32T7WkQvluR44 YnGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766161138; x=1766765938; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=X/Hi71EFMwbT8ptNwXW/+PuikNBEe+nI+EX1MWn7rrc=; b=FbDq8MF6fl1TQXxMlLUYP/wyrJo90DTWrVzucSKOMi5o8EidyA0KHf30x2H3vgO/IS kh2vG61/V88QlMdZVThg15NLKy8uEmqo9jbkwJ2Y9hnuJExLqU2+7tzI8xCvPHXvlQrK A7rqCk5IH8cV35hcKSmBFJO+kIQch0R+ZSRvsAL2Ormv8Pfi2twUNL5ngF6OQpPKJkOc QAfQTJ8wj99R8YIfGeueFqEk+rFj1mkMkLtMmDAqLbXWB6i8AHreRMph5ARaGE7Ozl8S WJh7LvGutkuEKkuBhGhHt5kRrn3Dm4iYAyM+450xIOQM1fzj1UAF3+g8pjPIBibxB4RJ +hTg== X-Forwarded-Encrypted: i=1; AJvYcCWMj0AKTTnq7R5rwMismotObcrXMX0nl4QSV6m00vMb2xF8CW9ANBU8DHmpvy6SjvtO/SqqOyfFd/hEIsY=@vger.kernel.org X-Gm-Message-State: AOJu0YyjwaE/mcCoUBR/ZBN+j+TzBSbg6yMlZwdtspzM2ML0GUv+6IlL FHYiq7CwXnNqeH6I36bIGpYGrOUBlJWU6N24Sboz+BdUg20E5amF+FITG82HlGs6Mb8= X-Gm-Gg: AY/fxX6P35TMLQvR1LGdv4KFDQ5OLquv4+RuZdStwOry5ogbVdmLJXfKs+8ozblHcZn 5nDEZYFMxwpUi9XxqhbZfpgex6rGH+gEgVxcRpESCTPf2YNiMW7Q0KoTKOMPiJz+tsdyKNx82yB VJ6BIW85lJANzdmEhYu7Z6bFkjwEPdCpmjJGoAlB9dvHBn1e3jmFLXMVyRNmAbFxQ+bVsJs8nQB 2s/PWGS/Q+lO6y2N/zB5JHY9KcueBD2hI0HIn68UgE2nbOHGDZvdFzAy9Xo/Be1wkYOBM7F1/qG HuevMXVtK9xRknbf+/aDOWp8N3PROriuKQmTa8V+3ND0cs48KgnYxYzUXZQc7OJHXsvZq6/7Ufy gYaxSq9ci3lBK5q1B6m/4iX05hf+qEMYo66LUE5M8M2FEzF9GOSaeF2SmSAT7FIQHy0sNnlpHcA 88FycgeknopcWKEJzNXOKvA9EeZVWzlCpcwCHdpCXUcJ/hXq5Go9eZWWH8dKPDmZR/cA== X-Google-Smtp-Source: AGHT+IGGG9s0wXtoxGsq0U0Depu7p7I9nYSz8VthyzwNRgLyv2wgLeIEplXVM9vmQjg7e233jqdPoA== X-Received: by 2002:a05:6512:3d91:b0:57e:ed2d:190f with SMTP id 2adb3069b0e04-59a17d96fa9mr709065e87.7.1766161137426; Fri, 19 Dec 2025 08:18:57 -0800 (PST) Received: from [192.168.1.100] (91-159-24-186.elisa-laajakaista.fi. [91.159.24.186]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59a185d5ef1sm795622e87.2.2025.12.19.08.18.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Dec 2025 08:18:57 -0800 (PST) Message-ID: <2ae1a0a3-b105-4c0d-abbc-4b9d708b0272@linaro.org> Date: Fri, 19 Dec 2025 18:18:49 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 1/3] dt-bindings: media: camss: Add qcom,sm6350-camss Content-Language: ru-RU To: Bryan O'Donoghue , Bryan O'Donoghue , Luca Weiss , Robert Foss , Todor Tomov , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20251114-sm6350-camss-v2-0-d1ff67da33b6@fairphone.com> <20251114-sm6350-camss-v2-1-d1ff67da33b6@fairphone.com> <272d039c-25a0-4db5-96a3-c28907882cd2@linaro.org> From: Vladimir Zapolskiy In-Reply-To: <272d039c-25a0-4db5-96a3-c28907882cd2@linaro.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 11/16/25 16:05, Bryan O'Donoghue wrote: > On 14/11/2025 17:06, Vladimir Zapolskiy wrote: >> On 11/14/25 18:09, Bryan O'Donoghue wrote: >>> On 14/11/2025 13:06, Luca Weiss wrote: >>>> Hi Vladimir, >>>> >>>> On Fri Nov 14, 2025 at 1:40 PM CET, Vladimir Zapolskiy wrote: >>>>> Hi Luca. >>>>> >>>>> On 11/14/25 13:15, Luca Weiss wrote: >>>>>> Add bindings for the Camera Subsystem on the SM6350 SoC. >>>>>> >>>>>> Signed-off-by: Luca Weiss >>>>>> --- >>>>>>     .../bindings/media/qcom,sm6350-camss.yaml          | 349 ++++++ >>>>>> +++++++++++++++ >>>>>>     1 file changed, 349 insertions(+) >>>>>> >>>>>> diff --git a/Documentation/devicetree/bindings/media/qcom,sm6350- >>>>>> camss.yaml b/Documentation/devicetree/bindings/media/qcom,sm6350- >>>>>> camss.yaml >>>>>> new file mode 100644 >>>>>> index 000000000000..d812b5b50c05 >>>>>> --- /dev/null >>>>>> +++ b/Documentation/devicetree/bindings/media/qcom,sm6350-camss.yaml >>>>>> @@ -0,0 +1,349 @@ >>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>>>> +%YAML 1.2 >>>>>> +--- >>>>>> +$id: http://devicetree.org/schemas/media/qcom,sm6350-camss.yaml# >>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>>> + >>>>>> +title: Qualcomm SM6350 Camera Subsystem (CAMSS) >>>>>> + >>>>>> +maintainers: >>>>>> +  - Luca Weiss >>>>>> + >>>>>> +description: >>>>>> +  The CAMSS IP is a CSI decoder and ISP present on Qualcomm >>>>>> platforms. >>>>>> + >>>>>> +properties: >>>>>> +  compatible: >>>>>> +    const: qcom,sm6350-camss >>>>>> + >>>>>> +  reg: >>>>>> +    maxItems: 12 >>>>>> + >>>>>> +  reg-names: >>>>>> +    items: >>>>>> +      - const: csid0 >>>>>> +      - const: csid1 >>>>>> +      - const: csid2 >>>>>> +      - const: csid_lite >>>>>> +      - const: csiphy0 >>>>>> +      - const: csiphy1 >>>>>> +      - const: csiphy2 >>>>>> +      - const: csiphy3 >>>>>> +      - const: vfe0 >>>>>> +      - const: vfe1 >>>>>> +      - const: vfe2 >>>>>> +      - const: vfe_lite >>>>>> + >>>>>> +  clocks: >>>>>> +    maxItems: 30 >>>>>> + >>>>>> +  clock-names: >>>>>> +    items: >>>>>> +      - const: cam_ahb_clk >>>>>> +      - const: cam_axi >>>>>> +      - const: soc_ahb >>>>>> +      - const: camnoc_axi >>>>>> +      - const: core_ahb >>>>>> +      - const: cpas_ahb >>>>>> +      - const: csiphy0 >>>>>> +      - const: csiphy0_timer >>>>>> +      - const: csiphy1 >>>>>> +      - const: csiphy1_timer >>>>>> +      - const: csiphy2 >>>>>> +      - const: csiphy2_timer >>>>>> +      - const: csiphy3 >>>>>> +      - const: csiphy3_timer >>>>>> +      - const: slow_ahb_src >>>>>> +      - const: vfe0_axi >>>>>> +      - const: vfe0 >>>>>> +      - const: vfe0_cphy_rx >>>>>> +      - const: vfe0_csid >>>>>> +      - const: vfe1_axi >>>>>> +      - const: vfe1 >>>>>> +      - const: vfe1_cphy_rx >>>>>> +      - const: vfe1_csid >>>>>> +      - const: vfe2_axi >>>>>> +      - const: vfe2 >>>>>> +      - const: vfe2_cphy_rx >>>>>> +      - const: vfe2_csid >>>>>> +      - const: vfe_lite >>>>>> +      - const: vfe_lite_cphy_rx >>>>>> +      - const: vfe_lite_csid >>>>> >>>>> The sorting order of this list does not follow the sorting order >>>>> accepted >>>>> in the past. >>>> >>>> What file should I best reference? >>> >>> Documentation/devicetree/bindings/media/qcom,sdm845-camss.yaml >>> >>>>> >>>>> I'm very sorry for the vagueness, but I can not pronounce the accepted >>>>> sorting order name, because it triggers people. >>>>> >>>>>> + >>>>>> +  interrupts: >>>>>> +    maxItems: 12 >>>>>> + >>>>>> +  interrupt-names: >>>>>> +    items: >>>>>> +      - const: csid0 >>>>>> +      - const: csid1 >>>>>> +      - const: csid2 >>>>>> +      - const: csid_lite >>>>>> +      - const: csiphy0 >>>>>> +      - const: csiphy1 >>>>>> +      - const: csiphy2 >>>>>> +      - const: csiphy3 >>>>>> +      - const: vfe0 >>>>>> +      - const: vfe1 >>>>>> +      - const: vfe2 >>>>>> +      - const: vfe_lite >>>>>> + >>>>>> +  interconnects: >>>>>> +    maxItems: 4 >>>>>> + >>>>>> +  interconnect-names: >>>>>> +    items: >>>>>> +      - const: ahb >>>>>> +      - const: hf_mnoc >>>>>> +      - const: sf_mnoc >>>>>> +      - const: sf_icp_mnoc >>>>> >>>>> Please remove sf_mnoc and sf_icp_mnoc, they are not needed for enabling >>>>> IP to produce raw images, and one day you may use them somewhere else. >>>> >>>> Ack, will give it a try. >>> >>> Disagree with this. >>> >>> See the Kanaapali patches. I'm asking new submissions to be as complete >>> as possible, instead of limiting the hardware description to the RDI. >>> >>> So listing the ICP noc is the right thing to do. >>> >>> So please include register banks for >>> >>> - bps >>> - cdm >>> - icp >>> - ipe >>> - jpeg >>> - lrme >> >> This suggests to get a DT backward compatibility lock forever, > > I'm not entirely sure what this comment means. > > The objective here is to get a full and complete DT describing camera > hardware that can be consumed by > > - CAMSS RDI > - CAMSS RDI + future goodness Here the problem is manifested, there is no even a raw idea of "future goodness" and how it looks like practically. Hardware can be represented in DT in many ways, why one arbitrary chosen, and never tested or even verified for correctness, representation is selected over any other one? Let's start from the beginning, why putting everything into one unstructured pile is better than accurate splitting of various CAMSS IPs into own device tree nodes? Downstream has different device tree nodes layout, why is it worse, should it be expected that Qualcomm in downstream moves to a "better" proposed layout of device tree nodes for CAMSS or only upstream Linux shall suffer? Somebody said that there is an idea for "future goodness" to modularize CAMSS, did it change? > - FreeBSD > - Any other DT consumer of upstream data perhaps even CamX FreeBSD or CamX are software, and they shall be excluded from consideration. There shall be no guesses about software usage, the only concern is if the hardware desription in the shape of device tree nodes is proper or not. Partial verifiable description is a proper description, and adding unknowns of "future goodness" does not serve any reasonable technical purpose, it adds an illusion of a proper description only, and it was proven that this illision shatters even for CAMSS, see CAMSS CSIPHY case, when a wrong DT choice can not be undone anymore for legacy platforms. It is good to acquire an ability to learn from the past. Everything can be added ad-hoc while keeping the hardware description in a proper and correct state. -- Best wishes, Vladimir