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: <57eee144-cdc4-48e7-838b-103cda6ec1dd@quicinc.com>
Date: Thu, 29 Aug 2024 12:06:46 -0700
From: Nikunj Kela <quic_nkela@...cinc.com>
To: Krzysztof Kozlowski <krzk@...nel.org>, <andersson@...nel.org>,
        <konradybcio@...nel.org>, <robh@...nel.org>, <krzk+dt@...nel.org>,
        <conor+dt@...nel.org>, <rafael@...nel.org>, <viresh.kumar@...aro.org>,
        <herbert@...dor.apana.org.au>, <davem@...emloft.net>,
        <sudeep.holla@....com>, <andi.shyti@...nel.org>, <tglx@...utronix.de>,
        <will@...nel.org>, <joro@...tes.org>, <jassisinghbrar@...il.com>,
        <lee@...nel.org>, <linus.walleij@...aro.org>, <amitk@...nel.org>,
        <thara.gopinath@...il.com>, <broonie@...nel.org>,
        <wim@...ux-watchdog.org>, <linux@...ck-us.net>
CC: <robin.murphy@....com>, <cristian.marussi@....com>, <rui.zhang@...el.com>,
        <lukasz.luba@....com>, <vkoul@...nel.org>, <quic_gurus@...cinc.com>,
        <agross@...nel.org>, <bartosz.golaszewski@...aro.org>,
        <quic_rjendra@...cinc.com>, <robimarko@...il.com>,
        <linux-arm-msm@...r.kernel.org>, <devicetree@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>, <linux-pm@...r.kernel.org>,
        <linux-crypto@...r.kernel.org>, <arm-scmi@...r.kernel.org>,
        <linux-arm-kernel@...ts.infradead.org>, <linux-i2c@...r.kernel.org>,
        <iommu@...ts.linux.dev>, <linux-gpio@...r.kernel.org>,
        <linux-serial@...r.kernel.org>, <linux-spi@...r.kernel.org>,
        <linux-watchdog@...r.kernel.org>, <kernel@...cinc.com>,
        <quic_psodagud@...cinc.com>, <quic_tsoni@...cinc.com>,
        <quic_shazhuss@...cinc.com>
Subject: Re: [PATCH 22/22] arm64: dts: qcom: Add reduced functional DT for
 SA8255p Ride platform


On 8/29/2024 12:49 AM, Krzysztof Kozlowski wrote:
> On 28/08/2024 22:37, Nikunj Kela wrote:
>> SA8255p Ride platform is an automotive virtual platform. This platform
>> abstracts resources such as clocks, regulators etc. in the firmware VM.
>> The device drivers request resources operations over SCMI using power,
>> performance, reset and sensor protocols.
>>
>> Multiple virtual SCMI instances are being employed for greater parallelism.
>> These instances are tied to devices such that devices can have dedicated
>> SCMI channel. Firmware VM (runs SCMI platform stack) is SMP enabled and
>> can process requests from agents in parallel. Qualcomm smc transport is
>> used for communication between SCMI agent and platform.
>>
>> Let's add the reduced functional support for SA8255p Ride board.
>> Subsequently, the support for PCIe, USB, UFS, Ethernet will be added.
>>
>> Co-developed-by: Shazad Hussain <quic_shazhuss@...cinc.com>
>> Signed-off-by: Shazad Hussain <quic_shazhuss@...cinc.com>
>> Signed-off-by: Nikunj Kela <quic_nkela@...cinc.com>
>> ---
>>  arch/arm64/boot/dts/qcom/Makefile           |    1 +
>>  arch/arm64/boot/dts/qcom/sa8255p-pmics.dtsi |   80 +
>>  arch/arm64/boot/dts/qcom/sa8255p-ride.dts   |  149 ++
>>  arch/arm64/boot/dts/qcom/sa8255p-scmi.dtsi  | 2312 ++++++++++++++++++
>>  arch/arm64/boot/dts/qcom/sa8255p.dtsi       | 2405 +++++++++++++++++++
>>  5 files changed, 4947 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/qcom/sa8255p-pmics.dtsi
>>  create mode 100644 arch/arm64/boot/dts/qcom/sa8255p-ride.dts
>>  create mode 100644 arch/arm64/boot/dts/qcom/sa8255p-scmi.dtsi
>>  create mode 100644 arch/arm64/boot/dts/qcom/sa8255p.dtsi
>>
> ...
>
>> diff --git a/arch/arm64/boot/dts/qcom/sa8255p-ride.dts b/arch/arm64/boot/dts/qcom/sa8255p-ride.dts
>> new file mode 100644
>> index 000000000000..1dc03051ad92
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/sa8255p-ride.dts
>> @@ -0,0 +1,149 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +
>> +#include "sa8255p.dtsi"
>> +#include "sa8255p-pmics.dtsi"
>> +#include "sa8255p-scmi.dtsi"
>> +
>> +/ {
>> +	model = "Qualcomm Technologies, Inc. SA8255P Ride";
>> +	compatible = "qcom,sa8255p-ride", "qcom,sa8255p";
>> +
>> +	aliases {
>> +		i2c11 = &i2c11;
>> +		i2c18 = &i2c18;
>> +		serial0 = &uart10;
>> +		serial1 = &uart4;
>> +		spi16 = &spi16;
>> +		scmichannels = &scmichannels;
> Nothing parses this.
>
We are using this alias in bootloader to speed up the parsing. Since we
are using 64 SCMI instances and SCMI smc transport driver for
Qualcomm(drivers/firmware/arm_scmi/transports/smc.c) expects
cap-id(created by hypervisor at boot time), our bootloader gets those
cap-id for each channel and populate them. This alias is an optimization
to save boottime as in automotive, boot KPIs are critical.


>
>> +
>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>> +
>> +&firmware {
>> +	scmi0: scmi0 {
> scmi-0
>
ACK!
>> +		compatible = "qcom,scmi-smc";
>> +		arm,smc-id = <0xc6008012>;
>> +		shmem = <&shmem0>;
>> +
>> +		interrupts = <GIC_SPI 963 IRQ_TYPE_EDGE_RISING>;
>> +		interrupt-names = "a2p";
>> +
>> +		max-rx-timeout-ms = <3000>;
>> +
>> +		status = "disabled";
> status is the last property (from properties)
>
ACK!
> ...
>
>> +
>> +&soc {
>> +	scmichannels: sram@...00000 {
>> +		#address-cells = <1>;
>> +		#size-cells = <1>;
>> +		compatible = "mmio-sram";
>> +		reg = <0x0 0xd0000000 0x0 0x40000>;
>> +		ranges = <0x0 0x0 0x0 0xffffffff>;
>> +
>> +		shmem0: scmi-sram@...00000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0000000 0x1000>;
>> +		};
>> +
>> +		shmem1: scmi-sram@...01000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0001000 0x1000>;
>> +		};
>> +
>> +		shmem2: scmi-sram@...02000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0002000 0x1000>;
>> +		};
>> +
>> +		shmem3: scmi-sram@...03000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0003000 0x1000>;
>> +		};
>> +
>> +		shmem4: scmi-sram@...04000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0004000 0x1000>;
>> +		};
>> +
>> +		shmem5: scmi-sram@...05000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0005000 0x1000>;
>> +		};
>> +
>> +		shmem6: scmi-sram@...06000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0006000 0x1000>;
>> +		};
>> +
>> +		shmem7: scmi-sram@...07000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0007000 0x1000>;
>> +		};
>> +
>> +		shmem8: scmi-sram@...08000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0008000 0x1000>;
>> +		};
>> +
>> +		shmem9: scmi-sram@...09000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0009000 0x1000>;
>> +		};
>> +
>> +		shmem10: scmi-sram@...0a000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd000a000 0x1000>;
>> +		};
>> +
>> +		shmem11: scmi-sram@...0b000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd000b000 0x1000>;
>> +		};
>> +
>> +		shmem12: scmi-sram@...0c000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd000c000 0x1000>;
>> +		};
>> +
>> +		shmem13: scmi-sram@...0d000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd000d000 0x1000>;
>> +		};
>> +
>> +		shmem14: scmi-sram@...0e000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd000e000 0x1000>;
>> +		};
>> +
>> +		shmem15: scmi-sram@...0f000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd000f000 0x1000>;
>> +		};
>> +
>> +		shmem16: scmi-sram@...10000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0010000 0x1000>;
>> +		};
>> +
>> +		shmem17: scmi-sram@...11000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0011000 0x1000>;
>> +		};
>> +
>> +		shmem18: scmi-sram@...12000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0012000 0x1000>;
>> +		};
>> +
>> +		shmem19: scmi-sram@...13000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0013000 0x1000>;
>> +		};
>> +
>> +		shmem20: scmi-sram@...14000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0014000 0x1000>;
>> +		};
>> +
>> +		shmem21: scmi-sram@...15000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0015000 0x1000>;
>> +		};
>> +
>> +		shmem22: scmi-sram@...16000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0016000 0x1000>;
>> +		};
>> +
>> +		shmem23: scmi-sram@...17000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0017000 0x1000>;
>> +		};
>> +
>> +		shmem24: scmi-sram@...18000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0018000 0x1000>;
>> +		};
>> +
>> +		shmem25: scmi-sram@...19000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0019000 0x1000>;
>> +		};
>> +
>> +		shmem26: scmi-sram@...1a000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd001a000 0x1000>;
>> +		};
>> +
>> +		shmem27: scmi-sram@...1b000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd001b000 0x1000>;
>> +		};
>> +
>> +		shmem28: scmi-sram@...1c000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd001c000 0x1000>;
>> +		};
>> +
>> +		shmem29: scmi-sram@...1d000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd001d000 0x1000>;
>> +		};
>> +
>> +		shmem30: scmi-sram@...1e000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd001e000 0x1000>;
>> +		};
>> +
>> +		shmem31: scmi-sram@...1f000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd001f000 0x1000>;
>> +		};
>> +
>> +		shmem32: scmi-sram@...20000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0020000 0x1000>;
>> +		};
>> +
>> +		shmem33: scmi-sram@...21000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0021000 0x1000>;
>> +		};
>> +
>> +		shmem34: scmi-sram@...22000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0022000 0x1000>;
>> +		};
>> +
>> +		shmem35: scmi-sram@...23000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0023000 0x1000>;
>> +		};
>> +
>> +		shmem36: scmi-sram@...24000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0024000 0x1000>;
>> +		};
>> +
>> +		shmem37: scmi-sram@...25000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0025000 0x1000>;
>> +		};
>> +
>> +		shmem38: scmi-sram@...26000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0026000 0x1000>;
>> +		};
>> +
>> +		shmem39: scmi-sram@...27000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0027000 0x1000>;
>> +		};
>> +
>> +		shmem40: scmi-sram@...28000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0028000 0x1000>;
>> +		};
>> +
>> +		shmem41: scmi-sram@...29000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0029000 0x1000>;
>> +		};
>> +
>> +		shmem42: scmi-sram@...2a000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd002a000 0x1000>;
>> +		};
>> +
>> +		shmem43: scmi-sram@...2b000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd002b000 0x1000>;
>> +		};
>> +
>> +		shmem44: scmi-sram@...2c000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd002c000 0x1000>;
>> +		};
>> +
>> +		shmem45: scmi-sram@...2d000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd002d000 0x1000>;
>> +		};
>> +
>> +		shmem46: scmi-sram@...2e000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd002e000 0x1000>;
>> +		};
>> +
>> +		shmem47: scmi-sram@...2f000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd002f000 0x1000>;
>> +		};
>> +
>> +		shmem48: scmi-sram@...30000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0030000 0x1000>;
>> +		};
>> +
>> +		shmem49: scmi-sram@...31000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0031000 0x1000>;
>> +		};
>> +
>> +		shmem50: scmi-sram@...32000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0032000 0x1000>;
>> +		};
>> +
>> +		shmem51: scmi-sram@...33000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0033000 0x1000>;
>> +		};
>> +
>> +		shmem52: scmi-sram@...34000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0034000 0x1000>;
>> +		};
>> +
>> +		shmem53: scmi-sram@...35000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0035000 0x1000>;
>> +		};
>> +
>> +		shmem54: scmi-sram@...36000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0036000 0x1000>;
>> +		};
>> +
>> +		shmem55: scmi-sram@...37000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0037000 0x1000>;
>> +		};
>> +
>> +		shmem56: scmi-sram@...38000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0038000 0x1000>;
>> +		};
>> +
>> +		shmem57: scmi-sram@...39000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd0039000 0x1000>;
>> +		};
>> +
>> +		shmem58: scmi-sram@...3a000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd003a000 0x1000>;
>> +		};
>> +
>> +		shmem59: scmi-sram@...3b000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd003b000 0x1000>;
>> +		};
>> +
>> +		shmem60: scmi-sram@...3c000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd003c000 0x1000>;
>> +		};
>> +
>> +		shmem61: scmi-sram@...3d000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd003d000 0x1000>;
>> +		};
>> +
>> +		shmem62: scmi-sram@...3e000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd003e000 0x1000>;
>> +		};
>> +
>> +		shmem63: scmi-sram@...3f000 {
>> +			compatible = "arm,scmi-shmem";
>> +			reg = <0xd003f000 0x1000>;
>> +		};
>> +	};
>> +};
>> diff --git a/arch/arm64/boot/dts/qcom/sa8255p.dtsi b/arch/arm64/boot/dts/qcom/sa8255p.dtsi
>> new file mode 100644
>> index 000000000000..c354f76ffa5e
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/sa8255p.dtsi
>> @@ -0,0 +1,2405 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
>> + */
>> +
>> +#include <dt-bindings/interrupt-controller/arm-gic.h>
>> +#include <dt-bindings/mailbox/qcom-ipcc.h>
>> +
>> +/ {
>> +	interrupt-parent = <&intc>;
>> +
>> +	#address-cells = <2>;
>> +	#size-cells = <2>;
>> +
>> +	clocks {
>> +		xo_board_clk: xo-board-clk {
>> +			compatible = "fixed-clock";
>> +			#clock-cells = <0>;
>> +		};
>> +
>> +		sleep_clk: sleep-clk {
>> +			compatible = "fixed-clock";
>> +			#clock-cells = <0>;
>> +		};
>> +
>> +		gpll0_board_clk: gpll0-board-clk {
>> +			compatible = "fixed-clock";
>> +			#clock-cells = <0>;
>> +		};
>> +
>> +		bi_tcxo_div2: bi-tcxo-div2-clk {
>> +			compatible = "fixed-factor-clock";
>> +			clocks = <&xo_board_clk>;
>> +			clock-mult = <1>;
>> +			clock-div = <2>;
>> +			#clock-cells = <0>;
>> +		};
>> +	};
>> +
>> +	cpus {
>> +		#address-cells = <2>;
>> +		#size-cells = <0>;
>> +
>> +		CPU0: cpu@0 {
> Lowercase label.
ACK!
>
> ...
>
> Best regards,
> Krzysztof
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ