Hello, Rob Thank you very much for your reply. I have a question that I would like to seek your advice on and clarify. > > On Tue, Aug 19, 2025 at 8:54 AM Yulin Lu <luyulin@xxxxxxxxxxxxxxxxxx> wrote: > > > > From: luyulin <luyulin@xxxxxxxxxxxxxxxxxx> > > Please fix your name. > > > > > Add document for the SATA AHCI controller on the EIC7700 SoC platform, > > including descriptions of its hardware configurations. > > > > Signed-off-by: luyulin <luyulin@xxxxxxxxxxxxxxxxxx> > > And here. > > > --- > > .../bindings/ata/eswin,eic7700-ahci.yaml | 92 +++++++++++++++++++ > > 1 file changed, 92 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/ata/eswin,eic7700-ahci.yaml > > > > diff --git a/Documentation/devicetree/bindings/ata/eswin,eic7700-ahci.yaml b/Documentation/devicetree/bindings/ata/eswin,eic7700-ahci.yaml > > new file mode 100644 > > index 000000000000..9ef58c9c2f28 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/ata/eswin,eic7700-ahci.yaml > > @@ -0,0 +1,92 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/ata/eswin,eic7700-ahci.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Eswin EIC7700 SoC SATA Controller > > + > > +maintainers: > > + - Yulin Lu <luyulin@xxxxxxxxxxxxxxxxxx> > > + - Huan He <hehuan1@xxxxxxxxxxxxxxxxxx> > > + > > +description: > > + This document defines device tree bindings for the Synopsys DWC > > + implementation of the AHCI SATA controller found in Eswin's > > + Eic7700 SoC platform. > > + > > +select: > > + properties: > > + compatible: > > + const: eswin,eic7700-ahci > > + required: > > + - compatible > > + > > +allOf: > > + - $ref: snps,dwc-ahci-common.yaml# > > + > > +properties: > > + compatible: > > + items: > > + - const: eswin,eic7700-ahci > > + - const: snps,dwc-ahci > > + > > + reg: > > + maxItems: 1 > > Drop. snps,dwc-ahci-common.yaml already defines this. > > > + > > + interrupts: > > + maxItems: 1 > > Drop. snps,dwc-ahci-common.yaml already defines this. > > > + > > + ports-implemented: > > + const: 1 > > Really, your firmware should initialize the DWC specific register that > sets this and is discoverable via a standard AHCI register. > Accord to my understanding, if ports-implemented is configured in the dts, this register will be set by the platform driver in libahci_platform.c. Do you mean that ports-implemented should be removed from the dts, and the corresponding register should be configured by the firmware (which is U-Boot on the HiFive Premier P550 board)? Is this understanding correct? If so, when the driver is removed, a reset will be triggered, causing the configuration of this register to be lost, which will result in an error when insmod the driver again. Best regards, Yulin