2024-05-28 22:54:08

by Nathan Morrisson

[permalink] [raw]
Subject: [PATCH v2 0/4] Add overlays to disable optional hardware in k3-am6xx-phycore-som boards

Add three overlays to disable the eth phy, rtc, and spi nor. These
overlays will be used to disable device tree nodes for components
that are optionally not populated.

v2:
- Add build time tests in makefile

Nathan Morrisson (4):
arm64: dts: ti: k3-am64-phycore-som: Add serial_flash label
arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable eth phy
arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc
arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor

arch/arm64/boot/dts/ti/Makefile | 17 +++++++++++++++++
.../boot/dts/ti/k3-am64-phycore-som.dtsi | 2 +-
.../ti/k3-am6xx-phycore-disable-eth-phy.dtso | 19 +++++++++++++++++++
.../dts/ti/k3-am6xx-phycore-disable-rtc.dtso | 15 +++++++++++++++
.../ti/k3-am6xx-phycore-disable-spi-nor.dtso | 15 +++++++++++++++
5 files changed, 67 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-eth-phy.dtso
create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso

--
2.25.1



2024-05-28 23:04:06

by Nathan Morrisson

[permalink] [raw]
Subject: [PATCH v2 4/4] arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor

Add an overlay to disable the spi nor for all am6xx-phycore-som
boards.

Signed-off-by: Nathan Morrisson <[email protected]>
---
v2:
- Add build time tests in makefile

arch/arm64/boot/dts/ti/Makefile | 5 +++++
.../dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso | 15 +++++++++++++++
2 files changed, 20 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso

diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 3d0e87a78e09..8d8fc8bfaf7e 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -57,6 +57,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am64-tqma64xxl-mbax4xxl-wlan.dtbo
# Common overlays for the phyCORE-AM6* family of boards
dtb-$(CONFIG_ARCH_K3) += k3-am6xx-phycore-disable-eth-phy.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am6xx-phycore-disable-rtc.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am6xx-phycore-disable-spi-nor.dtbo

# Boards with AM65x SoC
k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb \
@@ -115,6 +116,8 @@ k3-am625-phyboard-lyra-disable-eth-phy-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
k3-am6xx-phycore-disable-eth-phy.dtbo
k3-am625-phyboard-lyra-disable-rtc-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
k3-am6xx-phycore-disable-rtc.dtbo
+k3-am625-phyboard-lyra-disable-spi-nor-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
+ k3-am6xx-phycore-disable-spi-nor.dtbo
k3-am625-phyboard-lyra-gpio-fan-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
k3-am62x-phyboard-lyra-gpio-fan.dtbo
k3-am625-sk-csi2-imx219-dtbs := k3-am625-sk.dtb \
@@ -144,6 +147,8 @@ k3-am642-phyboard-electra-disable-eth-phy-dtbs := \
k3-am642-phyboard-electra-rdk.dtb k3-am6xx-phycore-disable-eth-phy.dtbo
k3-am642-phyboard-electra-disable-rtc-dtbs := \
k3-am642-phyboard-electra-rdk.dtb k3-am6xx-phycore-disable-rtc.dtbo
+k3-am642-phyboard-electra-disable-spi-nor-dtbs := \
+ k3-am642-phyboard-electra-rdk.dtb k3-am6xx-phycore-disable-spi-nor.dtbo
k3-am642-phyboard-electra-gpio-fan-dtbs := \
k3-am642-phyboard-electra-rdk.dtb k3-am642-phyboard-electra-gpio-fan.dtbo
k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
diff --git a/arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso b/arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
new file mode 100644
index 000000000000..cc0cf269b6e4
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (C) 2023 PHYTEC America, LLC
+ * Author: Garrett Giordano <[email protected]>
+ *
+ * Copyright (C) 2024 PHYTEC America, LLC
+ * Author: Nathan Morrisson <[email protected]>
+ */
+
+/dts-v1/;
+/plugin/;
+
+&serial_flash {
+ status = "disabled";
+};
--
2.25.1


2024-05-28 23:08:16

by Nathan Morrisson

[permalink] [raw]
Subject: [PATCH v2 3/4] arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc

Add an overlay to disable the rtc for all am6xx-phycore-som boards.

Signed-off-by: Nathan Morrisson <[email protected]>
---
v2:
- Add build time tests in makefile

arch/arm64/boot/dts/ti/Makefile | 5 +++++
.../boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso | 15 +++++++++++++++
2 files changed, 20 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso

diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 320da5ea38e0..3d0e87a78e09 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -56,6 +56,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am64-tqma64xxl-mbax4xxl-wlan.dtbo

# Common overlays for the phyCORE-AM6* family of boards
dtb-$(CONFIG_ARCH_K3) += k3-am6xx-phycore-disable-eth-phy.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am6xx-phycore-disable-rtc.dtbo

# Boards with AM65x SoC
k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb \
@@ -112,6 +113,8 @@ k3-am625-beagleplay-csi2-tevi-ov5640-dtbs := k3-am625-beagleplay.dtb \
k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
k3-am625-phyboard-lyra-disable-eth-phy-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
k3-am6xx-phycore-disable-eth-phy.dtbo
+k3-am625-phyboard-lyra-disable-rtc-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
+ k3-am6xx-phycore-disable-rtc.dtbo
k3-am625-phyboard-lyra-gpio-fan-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
k3-am62x-phyboard-lyra-gpio-fan.dtbo
k3-am625-sk-csi2-imx219-dtbs := k3-am625-sk.dtb \
@@ -139,6 +142,8 @@ k3-am642-evm-icssg1-dualemac-dtbs := \
k3-am642-evm.dtb k3-am642-evm-icssg1-dualemac.dtbo
k3-am642-phyboard-electra-disable-eth-phy-dtbs := \
k3-am642-phyboard-electra-rdk.dtb k3-am6xx-phycore-disable-eth-phy.dtbo
+k3-am642-phyboard-electra-disable-rtc-dtbs := \
+ k3-am642-phyboard-electra-rdk.dtb k3-am6xx-phycore-disable-rtc.dtbo
k3-am642-phyboard-electra-gpio-fan-dtbs := \
k3-am642-phyboard-electra-rdk.dtb k3-am642-phyboard-electra-gpio-fan.dtbo
k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
diff --git a/arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso b/arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
new file mode 100644
index 000000000000..8b24191f5948
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (C) 2023 PHYTEC America, LLC
+ * Author: Garrett Giordano <[email protected]>
+ *
+ * Copyright (C) 2024 PHYTEC America, LLC
+ * Author: Nathan Morrisson <[email protected]>
+ */
+
+/dts-v1/;
+/plugin/;
+
+&i2c_som_rtc {
+ status = "disabled";
+};
--
2.25.1


2024-05-31 09:09:58

by Wadim Egorov

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] Add overlays to disable optional hardware in k3-am6xx-phycore-som boards



Am 29.05.24 um 00:51 schrieb Nathan Morrisson:
> Add three overlays to disable the eth phy, rtc, and spi nor. These
> overlays will be used to disable device tree nodes for components
> that are optionally not populated.
>
> v2:
> - Add build time tests in makefile

For the whole series,

Reviewed-by: Wadim Egorov <[email protected]>

>
> Nathan Morrisson (4):
> arm64: dts: ti: k3-am64-phycore-som: Add serial_flash label
> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable eth phy
> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc
> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor
>
> arch/arm64/boot/dts/ti/Makefile | 17 +++++++++++++++++
> .../boot/dts/ti/k3-am64-phycore-som.dtsi | 2 +-
> .../ti/k3-am6xx-phycore-disable-eth-phy.dtso | 19 +++++++++++++++++++
> .../dts/ti/k3-am6xx-phycore-disable-rtc.dtso | 15 +++++++++++++++
> .../ti/k3-am6xx-phycore-disable-spi-nor.dtso | 15 +++++++++++++++
> 5 files changed, 67 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-eth-phy.dtso
> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
>

2024-06-03 17:42:17

by Vignesh Raghavendra

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] Add overlays to disable optional hardware in k3-am6xx-phycore-som boards

Hi Nathan,

On 29/05/24 04:21, Nathan Morrisson wrote:
> Add three overlays to disable the eth phy, rtc, and spi nor. These
> overlays will be used to disable device tree nodes for components
> that are optionally not populated.
>
> v2:
> - Add build time tests in makefile
>
> Nathan Morrisson (4):
> arm64: dts: ti: k3-am64-phycore-som: Add serial_flash label


> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable eth phy
> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc
> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor
>
> arch/arm64/boot/dts/ti/Makefile | 17 +++++++++++++++++
> .../boot/dts/ti/k3-am64-phycore-som.dtsi | 2 +-
> .../ti/k3-am6xx-phycore-disable-eth-phy.dtso | 19 +++++++++++++++++++
> .../dts/ti/k3-am6xx-phycore-disable-rtc.dtso | 15 +++++++++++++++
> .../ti/k3-am6xx-phycore-disable-spi-nor.dtso | 15 +++++++++++++++
> 5 files changed, 67 insertions(+), 1 deletion(-)

> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-eth-phy.dtso
> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
>

I am not sure if this a common practice to have overlays to disable
missing components (at least I dont see such dtso in kernel). I would
like to see an what DT maintainers feel as such dtsos can explode in
numbers.

Is this something that U-Boot can detect and fix up for the Linux DT?

Unpopulated SPI flash and RTC should ideally not be an issue as drivers
would gracefully fail albeit with some sort of error msg.
Not so sure about Eth PHYs though.

Also, Are these dtso's mutually exclusive? ie can SoM have SPI flash but
not RTC, have RTC and SPI Flash but no ETH PHY?

--
Regards
Vignesh

2024-06-04 23:16:05

by Nathan Morrisson

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] Add overlays to disable optional hardware in k3-am6xx-phycore-som boards

Hi Vignesh,

On 6/3/24 10:41 AM, Vignesh Raghavendra wrote:
> Hi Nathan,
>
> On 29/05/24 04:21, Nathan Morrisson wrote:
>> Add three overlays to disable the eth phy, rtc, and spi nor. These
>> overlays will be used to disable device tree nodes for components
>> that are optionally not populated.
>>
>> v2:
>> - Add build time tests in makefile
>>
>> Nathan Morrisson (4):
>> arm64: dts: ti: k3-am64-phycore-som: Add serial_flash label
>
>> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable eth phy
>> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc
>> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor
>>
>> arch/arm64/boot/dts/ti/Makefile | 17 +++++++++++++++++
>> .../boot/dts/ti/k3-am64-phycore-som.dtsi | 2 +-
>> .../ti/k3-am6xx-phycore-disable-eth-phy.dtso | 19 +++++++++++++++++++
>> .../dts/ti/k3-am6xx-phycore-disable-rtc.dtso | 15 +++++++++++++++
>> .../ti/k3-am6xx-phycore-disable-spi-nor.dtso | 15 +++++++++++++++
>> 5 files changed, 67 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-eth-phy.dtso
>> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
>> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
>>
> I am not sure if this a common practice to have overlays to disable
> missing components (at least I dont see such dtso in kernel). I would
> like to see an what DT maintainers feel as such dtsos can explode in
> numbers.
>
> Is this something that U-Boot can detect and fix up for the Linux DT?
We have an EEPROM on our board with information on what is populated on
that particular board. We will apply these overlays based on that EEPROM
data.
>
> Unpopulated SPI flash and RTC should ideally not be an issue as drivers
> would gracefully fail albeit with some sort of error msg.
> Not so sure about Eth PHYs though.
>
> Also, Are these dtso's mutually exclusive? ie can SoM have SPI flash but
> not RTC, have RTC and SPI Flash but no ETH PHY?

They are not mutually exclusive, you could have any combination of
overlays applied.


Regards,

Nathan

>

2024-06-10 08:34:57

by Wadim Egorov

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] Add overlays to disable optional hardware in k3-am6xx-phycore-som boards

Add: Daniel Schultz

Am 03.06.24 um 19:41 schrieb Vignesh Raghavendra:
> Hi Nathan,
>
> On 29/05/24 04:21, Nathan Morrisson wrote:
>> Add three overlays to disable the eth phy, rtc, and spi nor. These
>> overlays will be used to disable device tree nodes for components
>> that are optionally not populated.
>>
>> v2:
>> - Add build time tests in makefile
>>
>> Nathan Morrisson (4):
>> arm64: dts: ti: k3-am64-phycore-som: Add serial_flash label
>
>
>> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable eth phy
>> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc
>> arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor
>>
>> arch/arm64/boot/dts/ti/Makefile | 17 +++++++++++++++++
>> .../boot/dts/ti/k3-am64-phycore-som.dtsi | 2 +-
>> .../ti/k3-am6xx-phycore-disable-eth-phy.dtso | 19 +++++++++++++++++++
>> .../dts/ti/k3-am6xx-phycore-disable-rtc.dtso | 15 +++++++++++++++
>> .../ti/k3-am6xx-phycore-disable-spi-nor.dtso | 15 +++++++++++++++
>> 5 files changed, 67 insertions(+), 1 deletion(-)
>
>> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-eth-phy.dtso
>> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
>> create mode 100644 arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
>>
>
> I am not sure if this a common practice to have overlays to disable
> missing components (at least I dont see such dtso in kernel). I would
> like to see an what DT maintainers feel as such dtsos can explode in
> numbers.
>
> Is this something that U-Boot can detect and fix up for the Linux DT?
>
> Unpopulated SPI flash and RTC should ideally not be an issue as drivers
> would gracefully fail albeit with some sort of error msg.
> Not so sure about Eth PHYs though.
>
> Also, Are these dtso's mutually exclusive? ie can SoM have SPI flash but
> not RTC, have RTC and SPI Flash but no ETH PHY?
>

2024-06-11 13:12:21

by Daniel Schultz

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] Add overlays to disable optional hardware in k3-am6xx-phycore-som boards

Hi Vignesh,

On 10.06.24 10:07, Wadim Egorov wrote:
> Add: Daniel Schultz
>
> Am 03.06.24 um 19:41 schrieb Vignesh Raghavendra:
>> Hi Nathan,
>>
>> On 29/05/24 04:21, Nathan Morrisson wrote:
>>> Add three overlays to disable the eth phy, rtc, and spi nor. These
>>> overlays will be used to disable device tree nodes for components
>>> that are optionally not populated.
>>>
>>> v2:
>>>    - Add build time tests in makefile
>>>
>>> Nathan Morrisson (4):
>>>    arm64: dts: ti: k3-am64-phycore-som: Add serial_flash label
>>
>>
>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable eth phy
>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc
>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor
>>>
>>>   arch/arm64/boot/dts/ti/Makefile               | 17 +++++++++++++++++
>>>   .../boot/dts/ti/k3-am64-phycore-som.dtsi      |  2 +-
>>>   .../ti/k3-am6xx-phycore-disable-eth-phy.dtso  | 19
>>> +++++++++++++++++++
>>>   .../dts/ti/k3-am6xx-phycore-disable-rtc.dtso  | 15 +++++++++++++++
>>>   .../ti/k3-am6xx-phycore-disable-spi-nor.dtso  | 15 +++++++++++++++
>>>   5 files changed, 67 insertions(+), 1 deletion(-)
>>
>>>   create mode 100644
>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-eth-phy.dtso
>>>   create mode 100644
>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
>>>   create mode 100644
>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
>>>
>>
>> I am not sure if this a common practice to have overlays to disable
>> missing components (at least I dont see such dtso in kernel). I would
>> like to see an what DT maintainers feel as such dtsos can explode in
>> numbers.
>>
>> Is this something that U-Boot can detect and fix up for the Linux DT?
>>
>> Unpopulated SPI flash and RTC should ideally not be an issue as drivers
>> would gracefully fail albeit with some sort of error msg.
>> Not so sure about Eth PHYs though.
>>
>> Also, Are these dtso's mutually exclusive? ie can SoM have SPI flash but
>> not RTC, have RTC and SPI Flash but no ETH PHY?

Let me explain a little bit why we would like to have those overlays
upstream.

Our SOMs come with a so-called "option tree" to produce one product with
different components. For example, our standard part name for the
phyCORE-AM62x is PCM-071-5432DE11I.A0 and the option tree is located
between PCM-071 and A0. In this particular tree, the fourth character
defines the DDR size with 2GB. If we have a customer with less memory
requirements, we can simply produce the 1GB variant (PCM-071-5431...)
and lower the cost.

Luckily, we can read the TI SOC part number in u-boot and disable
non-existing components like CPU cores, GPUs, etc. in the Linux
device-tree. However, we still need to handle all modifiable parts on
our SOMs. For the phyCORE-AM62x, this would be the DDR size, SPI-NOR
size and flash type (Q/OSPI), and whether the RTC and Ethernet PHY are
populated. The DDR size can be handled completely in SPL, but for
everything else we need to modify our Linux device-tree. The easiest and
cleanest way to do that is by applying overlays, which are located next
to the device-tree. I'm not a fan of letting drivers fail to probe.
Customers with extensive product verifications most likely need to
disable those manually, which is against the idea of buying a
fully-functional SOM. Alternatively, we need to hard-code fixups in our
U-Boot which means some U-Boot/Linux combinations might not boot anymore
or we maintain them in a Phytec repository and never archive fully
upstream status for our products.

Regarding the number of overlays. We use those three plus an additional
one, which we need to upstream too, for the AM62x, AM62Ax, and AM64x.
The upcoming AM62P and AM67 require one additional overlay for an
optional, second EEPROM. In total we need 5 overlays for 5 AM6 products.

Best Regards,
Daniel



2024-06-12 10:32:04

by Vignesh Raghavendra

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] Add overlays to disable optional hardware in k3-am6xx-phycore-som boards



On 05/06/24 04:45, Nathan Morrisson wrote:
> Hi Vignesh,
>
> On 6/3/24 10:41 AM, Vignesh Raghavendra wrote:
>> Hi Nathan,
>>
>> On 29/05/24 04:21, Nathan Morrisson wrote:
>>> Add three overlays to disable the eth phy, rtc, and spi nor. These
>>> overlays will be used to disable device tree nodes for components
>>> that are optionally not populated.
>>>
>>> v2:
>>>    - Add build time tests in makefile
>>>
>>> Nathan Morrisson (4):
>>>    arm64: dts: ti: k3-am64-phycore-som: Add serial_flash label
>>
>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable eth phy
>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc
>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor
>>>
>>>   arch/arm64/boot/dts/ti/Makefile               | 17 +++++++++++++++++
>>>   .../boot/dts/ti/k3-am64-phycore-som.dtsi      |  2 +-
>>>   .../ti/k3-am6xx-phycore-disable-eth-phy.dtso  | 19 +++++++++++++++++++
>>>   .../dts/ti/k3-am6xx-phycore-disable-rtc.dtso  | 15 +++++++++++++++
>>>   .../ti/k3-am6xx-phycore-disable-spi-nor.dtso  | 15 +++++++++++++++
>>>   5 files changed, 67 insertions(+), 1 deletion(-)
>>>   create mode 100644
>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-eth-phy.dtso
>>>   create mode 100644
>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
>>>   create mode 100644
>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
>>>
>> I am not sure if this a common practice to have overlays to disable
>> missing components (at least I dont see such dtso in kernel). I would
>> like to see an what DT maintainers feel as such dtsos can explode in
>> numbers.
>>
>> Is this something that U-Boot can detect and fix up for the Linux DT?

> We have an EEPROM on our board with information on what is populated on
> that particular board. We will apply these overlays based on that EEPROM
> data.

Typical usage of overlay is to keep the minimum in baseboard and enable
optional components in the overlay. But it would also depend on whats
information is present in the EEPROM.

Could you provide bit more color on whats in EEPROM and how each overlay
would be applied? Please add the same to commit message and respin.

>>
>> Unpopulated SPI flash and RTC should ideally not be an issue as drivers
>> would gracefully fail albeit with some sort of error msg.
>> Not so sure about Eth PHYs though.
>>
>> Also, Are these dtso's mutually exclusive? ie can SoM have SPI flash but
>> not RTC, have RTC and SPI Flash but no ETH PHY?
>
> They are not mutually exclusive, you could have any combination of
> overlays applied.
>
>
> Regards,
>
> Nathan
>
>>

--
Regards
Vignesh

2024-06-13 23:08:41

by Nathan Morrisson

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] Add overlays to disable optional hardware in k3-am6xx-phycore-som boards


On 6/12/24 3:19 AM, Vignesh Raghavendra wrote:
>
> On 05/06/24 04:45, Nathan Morrisson wrote:
>> Hi Vignesh,
>>
>> On 6/3/24 10:41 AM, Vignesh Raghavendra wrote:
>>> Hi Nathan,
>>>
>>> On 29/05/24 04:21, Nathan Morrisson wrote:
>>>> Add three overlays to disable the eth phy, rtc, and spi nor. These
>>>> overlays will be used to disable device tree nodes for components
>>>> that are optionally not populated.
>>>>
>>>> v2:
>>>>    - Add build time tests in makefile
>>>>
>>>> Nathan Morrisson (4):
>>>>    arm64: dts: ti: k3-am64-phycore-som: Add serial_flash label
>>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable eth phy
>>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disable rtc
>>>>    arm64: dts: ti: k3-am6xx-phycore-som: Add overlay to disabl spi nor
>>>>
>>>>   arch/arm64/boot/dts/ti/Makefile               | 17 +++++++++++++++++
>>>>   .../boot/dts/ti/k3-am64-phycore-som.dtsi      |  2 +-
>>>>   .../ti/k3-am6xx-phycore-disable-eth-phy.dtso  | 19 +++++++++++++++++++
>>>>   .../dts/ti/k3-am6xx-phycore-disable-rtc.dtso  | 15 +++++++++++++++
>>>>   .../ti/k3-am6xx-phycore-disable-spi-nor.dtso  | 15 +++++++++++++++
>>>>   5 files changed, 67 insertions(+), 1 deletion(-)
>>>>   create mode 100644
>>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-eth-phy.dtso
>>>>   create mode 100644
>>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-rtc.dtso
>>>>   create mode 100644
>>>> arch/arm64/boot/dts/ti/k3-am6xx-phycore-disable-spi-nor.dtso
>>>>
>>> I am not sure if this a common practice to have overlays to disable
>>> missing components (at least I dont see such dtso in kernel). I would
>>> like to see an what DT maintainers feel as such dtsos can explode in
>>> numbers.
>>>
>>> Is this something that U-Boot can detect and fix up for the Linux DT?
>> We have an EEPROM on our board with information on what is populated on
>> that particular board. We will apply these overlays based on that EEPROM
>> data.
> Typical usage of overlay is to keep the minimum in baseboard and enable
> optional components in the overlay. But it would also depend on whats
> information is present in the EEPROM.
>
> Could you provide bit more color on whats in EEPROM and how each overlay
> would be applied? Please add the same to commit message and respin.

The EEPROM contains information about the configuration of the board.
The standard configuration has an ethernet phy, rtc, and spi nor. These
components can be left out to save cost, and that configuration
information is what is stored in the EEPROM. If these components are not
used, then we would use these overlays to change the device tree
appropriately.

I will send a new version with this in the commit, and there is also a
more detailed explanation at [1].

[1]
https://lore.kernel.org/lkml/[email protected]/

Regards,

Nathan

>
>>> Unpopulated SPI flash and RTC should ideally not be an issue as drivers
>>> would gracefully fail albeit with some sort of error msg.
>>> Not so sure about Eth PHYs though.
>>>
>>> Also, Are these dtso's mutually exclusive? ie can SoM have SPI flash but
>>> not RTC, have RTC and SPI Flash but no ETH PHY?
>> They are not mutually exclusive, you could have any combination of
>> overlays applied.
>>
>>
>> Regards,
>>
>> Nathan
>>