lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <feddcd03-1848-b667-6a38-ae7c0f6ff160@ti.com>
Date:   Tue, 9 May 2023 16:11:59 +0530
From:   Vignesh Raghavendra <vigneshr@...com>
To:     Vaishnav Achath <vaishnav.a@...com>, <nm@...com>, <afd@...com>,
        <kristo@...nel.org>, <robh+dt@...nel.org>,
        <krzysztof.kozlowski+dt@...aro.org>
CC:     <devicetree@...r.kernel.org>,
        <linux-arm-kernel@...ts.infradead.org>,
        <linux-kernel@...r.kernel.org>, <u-kumar1@...com>
Subject: Re: [PATCH v2 3/3] arm64: dts: ti: k3-j7200-mcu-wakeup: Update fss
 node and hbmc_mux



On 05/05/23 17:28, Vaishnav Achath wrote:
> From: Nishanth Menon <nm@...com>
> 
> fss node claims to be a syscon node, while it actually is a simple bus

FSS

> where ospi, hbmc peripherals are located and a mux for path select

OSPI, HBMC

> between OSPI and Hyperbus which can be modelled as a reg-mux. So model
> it accordingly and use reg-mux to describe the hbmc-mux. Also update
> the region size to the correct values as per the TRM.
> 
> Signed-off-by: Nishanth Menon <nm@...com>
> Signed-off-by: Vaishnav Achath <vaishnav.a@...com>
> ---
> 
> V1->V2:
>  * Address feedback from Udit to limit the FSS register region size as
>  per TRM.
>  * Use reg-mux changes to simplify the hbmc-mux modelling.
>  * Update commit message to reflect changes.
> 
> Depends on:
>  https://lore.kernel.org/all/20230424184810.29453-1-afd@ti.com/
> 
>  arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> index b58a31371bf3..333564ca9c91 100644
> --- a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> @@ -338,22 +338,23 @@
>  		status = "disabled";
>  	};
>  
> -	fss: syscon@...00000 {
> -		compatible = "syscon", "simple-mfd";
> -		reg = <0x00 0x47000000 0x00 0x100>;
> +	fss: bus@...00000 {
> +		compatible = "simple-bus";
> +		reg = <0x00 0x47000000 0x0 0x7c>;

                                       ^^^^ 0x00

I know the registers only go up to 0x7c, but its convention to map
entire region that is reserved for the IP irrespective of how many
registers are actually valid (I see this across arm64 SoC Vendors).
Eg as per TRM,  Table 203 MCU Domain map:

MCU_FSS0_CFG 0x0047000000 - 0x00470000FF (256B)




>  		#address-cells = <2>;
>  		#size-cells = <2>;
>  		ranges;
>  
> -		hbmc_mux: hbmc-mux {
> -			compatible = "mmio-mux";
> +		hbmc_mux: mux-controller@...00004 {
> +			compatible = "reg-mux";
> +			reg = <0x00 0x47000004 0x00 0x2>;
>  			#mux-control-cells = <1>;
>  			mux-reg-masks = <0x4 0x2>; /* HBMC select */
>  		};
>  
>  		hbmc: hyperbus@...34000 {
>  			compatible = "ti,am654-hbmc";
> -			reg = <0x00 0x47034000 0x00 0x100>,
> +			reg = <0x00 0x47034000 0x00 0x0c>,

Hmm, doesn't look correct? I see register addresses up to 0x47034048h in
TRM?

I prefer to map entire region reserved in the SoC memory map:
MCU_FSS0_HPB_CTRL 0x0047034000 - 0x00470340FF (256B)


>  				<0x05 0x00000000 0x01 0x0000000>;
>  			power-domains = <&k3_pds 102 TI_SCI_PD_EXCLUSIVE>;
>  			clocks = <&k3_clks 102 0>;

-- 
Regards
Vignesh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ