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: <1f8885db-1346-ed9e-dc3a-3938def7f472@linux.intel.com>
Date: Tue, 4 Feb 2025 09:15:34 -0800 (PST)
From: matthew.gerlach@...ux.intel.com
To: Krzysztof Kozlowski <krzk@...nel.org>
cc: lpieralisi@...nel.org, kw@...ux.com, manivannan.sadhasivam@...aro.org, 
    robh@...nel.org, bhelgaas@...gle.com, krzk+dt@...nel.org, 
    conor+dt@...nel.org, dinguyen@...nel.org, joyce.ooi@...el.com, 
    linux-pci@...r.kernel.org, devicetree@...r.kernel.org, 
    linux-kernel@...r.kernel.org, matthew.gerlach@...era.com, 
    peter.colberg@...era.com
Subject: Re: [PATCH v5 3/5] arm64: dts: agilex: add dtsi for PCIe Root Port



On Sun, 2 Feb 2025, Krzysztof Kozlowski wrote:

> On 02/02/2025 19:49, matthew.gerlach@...ux.intel.com wrote:
>>
>>
>> On Sun, 2 Feb 2025, Krzysztof Kozlowski wrote:
>>
>>> On 01/02/2025 20:12, matthew.gerlach@...ux.intel.com wrote:
>>>>>
>>>>>> they are also referenced in the following:
>>>>>>      Documentation/devicetree/bindings/soc/intel/intel,hps-copy-engine.yaml
>>>>>>      arch/arm64/boot/dts/intel/socfpga_agilex_n6000.dts
>>>>>> I am not exactly sure where the right place is to define them, maybe
>>>>>> Documentation/devicetree/bindings/arm/intel,socfpga.yaml. On the other
>>>>>> hand, no code references these names; so it might make sense to just
>>>>>> remove them.
>>>>>
>>>>> In general: nowhere, because simple bus does not have such properties.
>>>>> It's not about reg-names only - you cannot have reg. You just did not
>>>>> define here simple-bus.
>>>>
>>>> I understand. I will remove reg and reg-names.
>>>
>>> If you have there IO address space, then removal does not sound right,
>>> either. You just need to come with the bindings for this dedicated
>>> device, whatever this is. There is no description here, not much in
>>> commit msg, so I don't know what is the device you are adding. PCI has
>>> several bindings, so is this just host bridge?
>>
>> The device associated with two address ranges may be best described as a
>> simple-bus. It is a bus between the CPU and the directly connected FPGA in
>> the same package as the SOC. The design programmed into the FPGA
>> determines the device(s) connected to the bus. The hardware implementing
>
> So it is part of FPGA?

Technically, the PCIe Tiles are hard IP, but they are connected to the 
processor through the FPGA.

>
>> this bus does have reset lines which allow for safely reprogramming the
>
> Then it is not simple-bus. Simple-bus is our construct for simple
> devices. You cannot have something a bit more complex and call it
> simple-bus.
>
>> FPGA while the SOC is running, which implies appropriate bindings as you
>> suggest. Something like the following might make sense:
>>
>>  	aglx_hps_bridges: fpga-bus@...00000 {
>>  		compatible = "altr,agilex-hps-fpga-bridge", "simple-bus";
>
> FPGA bridge maybe, but not simple-bus. It does not look like a simple
> bus if you have here some resources.

FPGA bridge is a more accurate description of the actual hardware than 
simple-bus. This bridge does have two address ranges to access the FPGA. 
One address range is considered "light-weight" intended for register 
accesses in the FPGA, while the other a full featured AXI interface 
suitable DMA.

>
>>  		reg = <0x80000000 0x20200000>,
>>  		      <0xf9000000 0x00100000>;
>>  		reg-names = "axi_h2f", "axi_h2f_lw";
>>  		#address-cells = <0x2>;
>>  		#size-cells = <0x1>;
>>  		ranges = <0x00000000 0x00000000 0x80000000 0x00040000>,
>>  			 <0x00000000 0x10000000 0x90100000 0x0ff00000>,
>>  			 <0x00000000 0x20000000 0xa0000000 0x00200000>,
>>  			 <0x00000001 0x00010000 0xf9010000 0x00008000>,
>>  			 <0x00000001 0x00018000 0xf9018000 0x00000080>,
>>  			 <0x00000001 0x00018080 0xf9018080 0x00000010>;
>>  		reset = <&rst SOC2FPGA_RESET>, <&rst LWHPS2FPGA_RESET>;
> Best regards,
> Krzysztof
>
Thanks for the feedback,
Matthew Gerlach

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ