public inbox for linux-kernel@vger.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


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

Thread overview: 21+ 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 via B4 Relay
2024-04-14 11:46 ` [PATCH 1/4] dt-bindings: arm: bcm: add bindings for ASUS RT-AC3200 Arınç ÜNAL via B4 Relay
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 via B4 Relay
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 via B4 Relay
2024-04-14 14:13   ` Krzysztof Kozlowski
2024-04-14 16:59     ` Arınç ÜNAL
2024-04-14 19:12       ` Krzysztof Kozlowski
2024-04-14 20:21         ` Arınç ÜNAL
2024-04-15  7:57           ` Krzysztof Kozlowski
2024-04-15  9:10             ` Arınç ÜNAL
2024-04-17  3:15               ` Florian Fainelli
2024-04-17  8:24                 ` Arınç ÜNAL
2024-04-17 13:23                   ` Krzysztof Kozlowski
2024-04-17 14:27                     ` Arınç ÜNAL
2024-04-17 13:23                 ` Krzysztof Kozlowski
2024-04-17 16:47                   ` Florian Fainelli
2024-04-17 19:03                     ` Krzysztof Kozlowski [this message]
2024-04-14 11:46 ` [PATCH 4/4] ARM: dts: BCM5301X: Add DT for ASUS RT-AC5300 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

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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox