Re: [PATCH 1/2] dt-bindings: mmc: mtk-sd: add single burst switch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Il 07/03/25 07:59, Axe Yang (杨磊) ha scritto:
On Thu, 2025-03-06 at 10:19 +0100, AngeloGioacchino Del Regno wrote:
External email : Please do not click links or open attachments until
you have verified the sender or the content.


Il 06/03/25 09:48, Axe Yang ha scritto:
Add 'mediatek,disable-single-burst' setting. This property can be
used to switch bus burst type, from single burst to INCR, which is
determined by the bus type within the IP. Some versions of the IP
are using AXI bus, thus this switch is necessary as 'single' is not
the burst type supported by the bus.

Signed-off-by: Axe Yang <axe.yang@xxxxxxxxxxxx>

I am mostly sure that this is not something to put in devicetree, but
as
platform data for specific SoC(s), as much as I'm mostly sure that
all of
the instances of the MSDC IP in one SoC will be *all* using either
single
or INCR.

No, actually MSDC IPs in one SoC are using different versions.
Usually MSDC1 (index from 1) is used as eMMC host, the left hosts are
used as SD/SDIO hosts. They have similar designs, but there are still
difference.


So, I think I know the answer but I'll still ask just to be extremely
sure:

is there any MediaTek SoC that has different IP versions for
different MSDC
instances, and that hence require single burst on one instance and
INCR on
another instance?

Yes. Actually every SoC has different IP versions for eMMC and SD/SDIO
host as I said.
e.g. For MT8168, signel burst bit should be set to 1 for eMMC Host, but
0 for SD/SDIO Host.


And if there is - is there a pattern? Is it always SDIO requiring
INCR or
always eMMC/SD requiring it?



No, there is no pattern. Both eMMC and SD/SDIO hosts need to be
configured base on IP version. There is no binding relationship between
eMMC/SD/SDIO and the burst type. eMMC burst type might be INCR or
single, same as SD/SDIO.


Okay but if there are different IP versions, and AXI/AHB is determined
by the IP version, why aren't you parsing the MAIN_VER/ECO_VER registers of
the MSDC IP to check whether to use INCR or SINGLE?

Cheers,
Angelo


Regards,
Axe



---
   Documentation/devicetree/bindings/mmc/mtk-sd.yaml | 8 ++++++++
   1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
index 0debccbd6519..6076aff0a689 100644
--- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
+++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
@@ -100,6 +100,14 @@ properties:
       minimum: 0
       maximum: 0xffffffff

+  mediatek,disable-single-burst:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      Burst type setting. For some versions of the IP that do not
use
+      AHB bus, the burst type need to be switched to INCR.
+      If present, use INCR burst type.
+      If not present, use single burst type.
+
     mediatek,hs200-cmd-int-delay:
       $ref: /schemas/types.yaml#/definitions/uint32
       description:








[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux