[PATCH u-boot v2019.04-aspeed-openbmc v2] ARM: dts: aspeed: add Qualcomm DC-SCM V1
Cédric Le Goater
clg at kaod.org
Wed Jun 8 16:34:00 AEST 2022
On 6/8/22 08:20, Joel Stanley wrote:
> On Wed, 8 Jun 2022 at 06:16, Cédric Le Goater <clg at kaod.org> wrote:
>>
>> On 6/8/22 05:05, Joel Stanley wrote:
>>> On Tue, 7 Jun 2022 at 14:03, Jae Hyun Yoo <quic_jaehyoo at quicinc.com> wrote:
>>>>
>>>> On 6/7/2022 12:43 AM, Cédric Le Goater wrote:
>>>>> On 6/7/22 03:05, Joel Stanley wrote:
>>>>>> On Mon, 6 Jun 2022 at 13:56, Jae Hyun Yoo <quic_jaehyoo at quicinc.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> Ping
>>>>>>>
>>>>>>> On 5/19/2022 11:53 AM, Jae Hyun Yoo wrote:
>>>>>>>> From: Graeme Gregory <quic_ggregory at quicinc.com>
>>>>>>>>
>>>>>>>> Add initial version of device tree for Qualcomm DC-SCM V1 BMC which is
>>>>>>>> equipped with Aspeed AST2600 BMC SoC.
>>>>>>>>
>>>>>>>> Signed-off-by: Graeme Gregory <quic_ggregory at quicinc.com>
>>>>>>>> Signed-off-by: Jae Hyun Yoo <quic_jaehyoo at quicinc.com>
>>>>>>>> ---
>>>>>>>> Changes in v2:
>>>>>>>> * Changed vendor name from Nuvia to Qualcomm.
>>>>>>>>
>>>>>>>> arch/arm/dts/Makefile | 1 +
>>>>>>>> arch/arm/dts/ast2600-qcom-dc-scm-v1.dts | 208
>>>>>>>> ++++++++++++++++++++++++
>>>>>>>> 2 files changed, 209 insertions(+)
>>>>>>>> create mode 100644 arch/arm/dts/ast2600-qcom-dc-scm-v1.dts
>>>>>>>>
>>>>>>>> diff --git a/arch/arm/dts/ast2600-qcom-dc-scm-v1.dts
>>>>>>>> b/arch/arm/dts/ast2600-qcom-dc-scm-v1.dts
>>>>>>>> new file mode 100644
>>>>>>>> index 000000000000..e966f739b708
>>>>>>>> --- /dev/null
>>>>>>>> +++ b/arch/arm/dts/ast2600-qcom-dc-scm-v1.dts
>>>>
>>>> [...]
>>>>
>>>>>>>> +&fmc {
>>>>>>>> + status = "okay";
>>>>>>>> +
>>>>>>>> + pinctrl-names = "default";
>>>>>>>> + pinctrl-0 = <&pinctrl_fmcquad_default>;
>>>>>>>> +
>>>>>>>> + flash at 0 {
>>>>>>>> + compatible = "spi-flash", "sst,w25q256";
>>>>>>
>>>>>> Compatible strings should go from the most general to the most
>>>>>> specific, so these are around the wrong way. I see you've probably
>>>>>> just copied the ast2600-evb which makes the same mistake.
>>>>>>
>>>>>> In the dtsi we have jedec,spi-nor which you overwrite here.
>>>>>>
>>>>>> u-boot has spi-flash but Linux uses jedec,spi-nor. I wonder if we
>>>>>> should update the aspeed driver to use that?
>>>>>>
>>>>>> Cédric, do you have thoughts here?
>>>>>
>>>>> Yes. The closer we are to the Linux DT the better.
>>>>>
>>>>> The "spi-flash" and "jedec,spi-nor" compatibles are equivalent for
>>>>> the SF driver in U-Boot. I think we can remove all the :
>>>>>
>>>>> compatible = "spi-flash", "sst,w25q256";
>>>>>
>>>>> from the Aspeed dts files.
>>>>>
>>>>> This fits what the latest U-Boot does.
>>>>
>>>> I checked that it works without the compatible string. I'll drop the
>>>> line in v3.
>>>
>>> Can you describe your test setup?
>>>
>>> When I tested, using the ast2600-evb.dts, the driver reported:
>>>
>>> ast# sf probe
>>> aspeed_spi: flash-controller at 1e620000 has no flash devices ?!
>>> Invalid bus 0 (err=-19)
>>> Failed to initialize SPI flash at 0:0 (error -19)
>>>
>>> This is because the aspeed_spi.c driver counts the number of "spi-flash" nodes:
>>>
>>> static int aspeed_spi_count_flash_devices(struct udevice *bus)
>>> {
>>> ofnode node;
>>> int count = 0;
>>>
>>> dev_for_each_subnode(node, bus) {
>>> if (ofnode_is_available(node) &&
>>> ofnode_device_is_compatible(node, "spi-flash"))
>>> count++;
>>> }
>>>
>>> return count;
>>> }
>>
>> This is only needed for the "sf" command. boot simply uses the mapping on
>> 0x20000000.
>
> The environment reading code appears to use it too:
>
> U-Boot 2019.04-astsdk-00073-gccf81eee1b3c-dirty (Jun 08 2022 - 12:32:42 +0930)
>
> SOC: AST2600-A3
> Secure Boot: Mode_GCM
> eSPI Mode: SIO:Enable : SuperIO-2e
> Eth: MAC0: RGMII, MAC1: RGMII, MAC2: RGMII, MAC3: RGMII
> Model: AST2600 EVB
> DRAM: 1008 MiB (capacity:1024 MiB, VGA:64 MiB, ECC:off)
> RC Bridge phy at 1e6ed200 : Link down
> MMC:
>
> sdhci_slot0 at 100: 1, sdhci_slot1 at 200: 2, emmc_slot0 at 100: 0
> Loading Environment from SPI Flash... aspeed_spi:
> flash-controller at 1e620000 has no flash devices ?!
> Invalid bus 0 (err=-19)
> *** Warning - spi_flash_probe_bus_cs() failed, using default environment
Ah yes. Interesting. I would have thought that CONFIG_ENV_OFFSET
was enough.
Thanks,
C.
>
>>
>>
>>> We need to fix that if we're going to remove the "spi-flash"
>>> compatibles from the device tree.
>>
>> Just sent patches for it.
>
> Thanks
More information about the openbmc
mailing list