All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: "Florian Fainelli" <florian.fainelli@broadcom.com>,
	"Arınç ÜNAL" <arinc.unal@arinc9.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Hauke Mehrtens" <hauke@hauke-m.de>,
	"Rafal Milecki" <zajec5@gmail.com>,
	"Broadcom internal kernel review list"
	<bcm-kernel-feedback-list@broadcom.com>
Cc: Tom Brautaset <tbrautaset@gmail.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 3/4] ARM: dts: BCM5301X: Add DT for ASUS RT-AC3200
Date: Wed, 17 Apr 2024 21:03:29 +0200	[thread overview]
Message-ID: <8a5a494c-48db-4f4d-a310-0103cef7d7ac@kernel.org> (raw)
In-Reply-To: <eb6e33cf-0e1a-407a-bb62-9ef7202ec1ca@broadcom.com>

On 17/04/2024 18:47, Florian Fainelli wrote:
> 
> 
> On 4/17/2024 6:23 AM, Krzysztof Kozlowski wrote:
>> On 17/04/2024 05:15, Florian Fainelli wrote:
>>>
>>>
>>> On 4/15/2024 2:10 AM, Arınç ÜNAL wrote:
>>>> On 15.04.2024 10:57, Krzysztof Kozlowski wrote:
>>>>> On 14/04/2024 22:21, Arınç ÜNAL wrote:
>>>>>> NVRAM is described as both flash device partition and memory mapped
>>>>>> NVMEM.
>>>>>> This platform stores NVRAM on flash but makes it also memory accessible.
>>>>>>
>>>>>> As device partitions are described in board DTS, the nvram node must
>>>>>> also
>>>>>
>>>>> Sorry, but we do not talk about partitions. Partitions are indeed board
>>>>> property. But the piece of hardware, so NVMEM, is provided by SoC.
>>>>>
>>>>>> be defined there as its address and size will be different by board.
>>>>>> It has
>>>>>> been widely described on at least bcm4709 and bcm47094 SoC board DTS
>>>>>> files
>>>>>> here.
>>>>>
>>>>> These not proper arguments. What you are saying here is that SoC does no
>>>>> have nvram at address 0x1c08000. Instead you are saying there some sort
>>>>> of bus going out of SoC to the board and on the board physically there
>>>>> is some NVRAM sort of memory attached to this bus.
>>>>
>>>> Yes that is the case. NVRAM is stored on a partition on the flash. On the
>>>> Broadcom NorthStar platform, the NAND flash base is 0x1c000000, the NOR
>>>> flash base is 0x1e000000.
>>>>
>>>> For the board in this patch, the flash is a NAND flash. The NVRAM partition
>>>> starts at address 0x00080000. Therefore, the NVRAM component's address is
>>>> 0x1c080000.
>>>
>>> Because the flash is memory mapped into the CPU's address space, a
>>> separate node was defined since it is not part of the "soc" node which
>>> describes the bridge that connects all of the peripherals.
>>>
>>> Whether we should create an additional bus node which describes the
>>> bridge being used to access the flash devices using the MMIO windows is
>>> debatable. Rafal, what do you think?
>>
>> Sorry guys, I don't get. I don't know the addresses neither the names
>> like Broadcom Northstar, so this does not clarify me at all.
> 
> Northstar is just a code name for the BCM5301X SoC family. The SoC 
> memory map looks like this:
> 
> 0x0000_0000 ~ 0x07FF_FFFF - DDR
> 0x0800_0000 ~ 0x0FFF_FFFF - PCIe0
> 0x1800_0000 ~ 0x180F_FFFF - Core registers (that is 
> chipcommon-a-bus@18000000 and axi@18000000 in DT)
> 0x1810_0000 ~ 0x181F_FFFF - IDM registers
> 0x1900_0000 ~ 0x190F_FFFF - ARMCore registers (that is 
> mpcore-bus@19000000 in DT)
> 0x1C00_0000 ~ 0x1DFF_FFFF - NAND flash
> 0x1E00_0000 ~ 0x1FFF_FFFF - SPI-NOR flash
> 0x4000_0000 ~ 0x47FF_FFFF - PCIe1
> 0x4800_0000 ~ 0x4FFF_FFFF - PCIe2
> 0x8000_0000 ~ 0xBFFF_FFFF - DDR
> 
>  From the system diagram the CPU has 3 AXI ports to the NIC301 AXI 
> fabric, which itself has separate AXI ports to the NAND and SPI-NOR MMIO 
> interface and then different AXI and APB ports to various other peripherals.
> 
> This information was not accessible to Rafal at the time, so it would 
> not have been reasonable to expect from him to know such details.

Sure.

> 
>>
>> Please answer the simple questions:
>> 1. Is NAND flash part of SoC?
>> 2. If not, is NAND flash provided by Broadcom or anyone else?
> 
> The NAND flash is external to the SoC it is not manufactured by Broadcom 
> we have boards with Spansion, Micron, Macronix, Toshiba flashes etc.

Thanks, then this explains why this is no part of SoC and my concerns
are addressed. I have only one remaining question - you use "brcm,nvram"
compatible, which kind of suggests the NVRAM controller or part itself
is coming from Broadcom. Driver looks like software construct, but it is
so widely used that I guess that ship has sailed.

Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzk@kernel.org>
To: "Florian Fainelli" <florian.fainelli@broadcom.com>,
	"Arınç ÜNAL" <arinc.unal@arinc9.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Hauke Mehrtens" <hauke@hauke-m.de>,
	"Rafal Milecki" <zajec5@gmail.com>,
	"Broadcom internal kernel review list"
	<bcm-kernel-feedback-list@broadcom.com>
Cc: Tom Brautaset <tbrautaset@gmail.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 3/4] ARM: dts: BCM5301X: Add DT for ASUS RT-AC3200
Date: Wed, 17 Apr 2024 21:03:29 +0200	[thread overview]
Message-ID: <8a5a494c-48db-4f4d-a310-0103cef7d7ac@kernel.org> (raw)
In-Reply-To: <eb6e33cf-0e1a-407a-bb62-9ef7202ec1ca@broadcom.com>

On 17/04/2024 18:47, Florian Fainelli wrote:
> 
> 
> On 4/17/2024 6:23 AM, Krzysztof Kozlowski wrote:
>> On 17/04/2024 05:15, Florian Fainelli wrote:
>>>
>>>
>>> On 4/15/2024 2:10 AM, Arınç ÜNAL wrote:
>>>> On 15.04.2024 10:57, Krzysztof Kozlowski wrote:
>>>>> On 14/04/2024 22:21, Arınç ÜNAL wrote:
>>>>>> NVRAM is described as both flash device partition and memory mapped
>>>>>> NVMEM.
>>>>>> This platform stores NVRAM on flash but makes it also memory accessible.
>>>>>>
>>>>>> As device partitions are described in board DTS, the nvram node must
>>>>>> also
>>>>>
>>>>> Sorry, but we do not talk about partitions. Partitions are indeed board
>>>>> property. But the piece of hardware, so NVMEM, is provided by SoC.
>>>>>
>>>>>> be defined there as its address and size will be different by board.
>>>>>> It has
>>>>>> been widely described on at least bcm4709 and bcm47094 SoC board DTS
>>>>>> files
>>>>>> here.
>>>>>
>>>>> These not proper arguments. What you are saying here is that SoC does no
>>>>> have nvram at address 0x1c08000. Instead you are saying there some sort
>>>>> of bus going out of SoC to the board and on the board physically there
>>>>> is some NVRAM sort of memory attached to this bus.
>>>>
>>>> Yes that is the case. NVRAM is stored on a partition on the flash. On the
>>>> Broadcom NorthStar platform, the NAND flash base is 0x1c000000, the NOR
>>>> flash base is 0x1e000000.
>>>>
>>>> For the board in this patch, the flash is a NAND flash. The NVRAM partition
>>>> starts at address 0x00080000. Therefore, the NVRAM component's address is
>>>> 0x1c080000.
>>>
>>> Because the flash is memory mapped into the CPU's address space, a
>>> separate node was defined since it is not part of the "soc" node which
>>> describes the bridge that connects all of the peripherals.
>>>
>>> Whether we should create an additional bus node which describes the
>>> bridge being used to access the flash devices using the MMIO windows is
>>> debatable. Rafal, what do you think?
>>
>> Sorry guys, I don't get. I don't know the addresses neither the names
>> like Broadcom Northstar, so this does not clarify me at all.
> 
> Northstar is just a code name for the BCM5301X SoC family. The SoC 
> memory map looks like this:
> 
> 0x0000_0000 ~ 0x07FF_FFFF - DDR
> 0x0800_0000 ~ 0x0FFF_FFFF - PCIe0
> 0x1800_0000 ~ 0x180F_FFFF - Core registers (that is 
> chipcommon-a-bus@18000000 and axi@18000000 in DT)
> 0x1810_0000 ~ 0x181F_FFFF - IDM registers
> 0x1900_0000 ~ 0x190F_FFFF - ARMCore registers (that is 
> mpcore-bus@19000000 in DT)
> 0x1C00_0000 ~ 0x1DFF_FFFF - NAND flash
> 0x1E00_0000 ~ 0x1FFF_FFFF - SPI-NOR flash
> 0x4000_0000 ~ 0x47FF_FFFF - PCIe1
> 0x4800_0000 ~ 0x4FFF_FFFF - PCIe2
> 0x8000_0000 ~ 0xBFFF_FFFF - DDR
> 
>  From the system diagram the CPU has 3 AXI ports to the NIC301 AXI 
> fabric, which itself has separate AXI ports to the NAND and SPI-NOR MMIO 
> interface and then different AXI and APB ports to various other peripherals.
> 
> This information was not accessible to Rafal at the time, so it would 
> not have been reasonable to expect from him to know such details.

Sure.

> 
>>
>> Please answer the simple questions:
>> 1. Is NAND flash part of SoC?
>> 2. If not, is NAND flash provided by Broadcom or anyone else?
> 
> The NAND flash is external to the SoC it is not manufactured by Broadcom 
> we have boards with Spansion, Micron, Macronix, Toshiba flashes etc.

Thanks, then this explains why this is no part of SoC and my concerns
are addressed. I have only one remaining question - you use "brcm,nvram"
compatible, which kind of suggests the NVRAM controller or part itself
is coming from Broadcom. Driver looks like software construct, but it is
so widely used that I guess that ship has sailed.

Best regards,
Krzysztof


  reply	other threads:[~2024-04-17 19:03 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-14 11:45 [PATCH 0/4] Document ASUS RT-AC3200 and ASUS RT-AC5300 and add device trees Arınç ÜNAL
2024-04-14 11:45 ` Arınç ÜNAL via B4 Relay
2024-04-14 11:45 ` Arınç ÜNAL via B4 Relay
2024-04-14 11:46 ` [PATCH 1/4] dt-bindings: arm: bcm: add bindings for ASUS RT-AC3200 Arınç ÜNAL
2024-04-14 11:46   ` Arınç ÜNAL via B4 Relay
2024-04-14 11:46   ` Arınç ÜNAL via B4 Relay
2024-04-14 14:12   ` Krzysztof Kozlowski
2024-04-14 14:12     ` Krzysztof Kozlowski
2024-04-14 11:46 ` [PATCH 2/4] dt-bindings: arm: bcm: add bindings for ASUS RT-AC5300 Arınç ÜNAL
2024-04-14 11:46   ` Arınç ÜNAL via B4 Relay
2024-04-14 11:46   ` Arınç ÜNAL via B4 Relay
2024-04-14 14:12   ` Krzysztof Kozlowski
2024-04-14 14:12     ` Krzysztof Kozlowski
2024-04-14 11:46 ` [PATCH 3/4] ARM: dts: BCM5301X: Add DT for ASUS RT-AC3200 Arınç ÜNAL
2024-04-14 11:46   ` Arınç ÜNAL via B4 Relay
2024-04-14 11:46   ` Arınç ÜNAL via B4 Relay
2024-04-14 14:13   ` Krzysztof Kozlowski
2024-04-14 14:13     ` Krzysztof Kozlowski
2024-04-14 16:59     ` Arınç ÜNAL
2024-04-14 16:59       ` Arınç ÜNAL
2024-04-14 19:12       ` Krzysztof Kozlowski
2024-04-14 19:12         ` Krzysztof Kozlowski
2024-04-14 20:21         ` Arınç ÜNAL
2024-04-14 20:21           ` Arınç ÜNAL
2024-04-15  7:57           ` Krzysztof Kozlowski
2024-04-15  7:57             ` Krzysztof Kozlowski
2024-04-15  9:10             ` Arınç ÜNAL
2024-04-15  9:10               ` Arınç ÜNAL
2024-04-17  3:15               ` Florian Fainelli
2024-04-17  3:15                 ` Florian Fainelli
2024-04-17  8:24                 ` Arınç ÜNAL
2024-04-17  8:24                   ` Arınç ÜNAL
2024-04-17 13:23                   ` Krzysztof Kozlowski
2024-04-17 13:23                     ` Krzysztof Kozlowski
2024-04-17 14:27                     ` Arınç ÜNAL
2024-04-17 14:27                       ` Arınç ÜNAL
2024-04-17 13:23                 ` Krzysztof Kozlowski
2024-04-17 13:23                   ` Krzysztof Kozlowski
2024-04-17 16:47                   ` Florian Fainelli
2024-04-17 16:47                     ` Florian Fainelli
2024-04-17 19:03                     ` Krzysztof Kozlowski [this message]
2024-04-17 19:03                       ` Krzysztof Kozlowski
2024-04-14 11:46 ` [PATCH 4/4] ARM: dts: BCM5301X: Add DT for ASUS RT-AC5300 Arınç ÜNAL
2024-04-14 11:46   ` Arınç ÜNAL via B4 Relay
2024-04-14 11:46   ` Arınç ÜNAL via B4 Relay
2024-04-15 18:47 ` [PATCH 0/4] Document ASUS RT-AC3200 and ASUS RT-AC5300 and add device trees Rob Herring
2024-04-15 18:47   ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8a5a494c-48db-4f4d-a310-0103cef7d7ac@kernel.org \
    --to=krzk@kernel.org \
    --cc=arinc.unal@arinc9.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=florian.fainelli@broadcom.com \
    --cc=hauke@hauke-m.de \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=tbrautaset@gmail.com \
    --cc=zajec5@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.