On 17.07.2023 22:09, Bhupesh Sharma wrote: > On Mon, 17 Jul 2023 at 23:58, Stephan Gerhold <stephan@xxxxxxxxxxx> wrote: >> >> On Mon, Jul 17, 2023 at 11:33:40PM +0530, Bhupesh Sharma wrote: >>> On Mon, 17 Jul 2023 at 16:15, Stephan Gerhold <stephan@xxxxxxxxxxx> wrote: >>>> >>>> On Mon, Jul 17, 2023 at 04:02:35PM +0530, Bhupesh Sharma wrote: >>>>> Add the Embedded USB Debugger(EUD) device tree node for >>>>> SM6115 / SM4250 SoC. >>>>> >>>>> The node contains EUD base register region, EUD mode manager >>>>> register region and TCSR Base register region along with the >>>>> interrupt entry. >>>>> >>>>> [...] >>>>> >>>>> Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> >>>>> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxx> >>>>> --- >>>>> arch/arm64/boot/dts/qcom/sm6115.dtsi | 50 ++++++++++++++++++++++++++++ >>>>> 1 file changed, 50 insertions(+) >>>>> >>>>> diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi >>>>> index 839c603512403..db45337c1082c 100644 >>>>> --- a/arch/arm64/boot/dts/qcom/sm6115.dtsi >>>>> +++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi >>>>> [...] >>>>> @@ -789,6 +801,37 @@ gcc: clock-controller@1400000 { >>>>> #power-domain-cells = <1>; >>>>> }; >>>>> >>>>> + eud: eud@1610000 { >>>>> + compatible = "qcom,sm6115-eud", "qcom,eud"; >>>>> + reg = <0x0 0x01610000 0x0 0x2000>, >>>>> + <0x0 0x01612000 0x0 0x1000>, >>>>> + <0x0 0x003c0000 0x0 0x40000>; >>>>> + reg-names = "eud-base", "eud-mode-mgr", "tcsr-base"; >>>> >>>> TCSR is a separate hardware block unrelated to the EUD. IMHO it >>>> shouldn't be listed as "reg" here. >>>> >>>> Typically we describe it as syscon and then reference it from other >>>> nodes. See e.g. sm8450.dtsi "tcsr: syscon@1fc0000" referenced in &scm >>>> "qcom,dload-mode = <&tcsr 0x13000>". This is pretty much exactly the >>>> same use case as you have. It also uses this to write something with >>>> qcom_scm_io_writel() at the end. >>> >>> That was discussed a bit during v1 patchset review. Basically, if we >>> use a tcsr syscon approach here, we will need to define a 'qcom,xx' >>> vendor specific dt-property and use something like this in the eud >>> node: >>> >>> qcom,eud-sec-reg = <&tcsr_reg yyyy> >>> >>> which would be then used by the eud driver (via >>> syscon_regmap_lookup_by_phandle()). >>> >>> But for sm6115 / qcm2290 this would be an over complicated solution as >>> normally the eud driver (say sc7280) doesn't need tcsr based secure >>> mode manager access. So defining a new soc / vendor specific >>> dt-property might be an overkill. >>> >> >> IMO a vendor-specific DT property is still better than messing up the >> device separation in the device tree. The same "tcsr-base" reg would >> also appear on the actual tcsr syscon device tree node. Having two >> device tree nodes with the same reg region is generally not valid. >> >> Something like qcom,eud-sec-reg = <&tcsr_reg yyyy> would at least make >> clear that this points into a region that is shared between multiple >> different devices, while adding it as reg suggests that TCSR belongs >> exclusively to EUD. > > I understand your point but since for sm6115 / qcm2290 devices TCSR is > not used for any other purpose than EUD, I still think introducing a > new soc / vendor specific dt-property might be an overkill for this > changeset. Untrue, there's some mumblings around the PHY properties and PSHOLD. I think Stephan may be correct here. Konrad > > Thanks, > Bhupesh