[U-Boot] u-boot-x86 sf probe fail

Hilbert Tu(杜睿哲_Pegatron) Hilbert_Tu at pegatroncorp.com
Sat Jun 18 04:00:36 CEST 2016


Hi Bin

Thanks for your help.

Following is my dts file for your reference. I use qemu-x86_q35 in u-boot as dts template.  Orginally I think the ops->read_config should maps to pci_x86_read_config(), but the dump result is it failed in the logic "if (!ops->read_config)" in pci_bus_read_config(). I am not familiar with DM and I guess maybe my DM tree is incorrect that creates wrong mapping for the pci driver. This wrong mapping will result in incorret result of SPI_BASE_ADDRESS. Thanks.

/*
 * Copyright (C) 2015, Bin Meng <bmeng.cn at gmail.com>
 *
 * SPDX-License-Identifier:     GPL-2.0+
 */

/dts-v1/;

#include <dt-bindings/interrupt-router/intel-irq.h>

/* ICH9 IRQ router has discrete PIRQ control registers */
#undef PIRQE
#undef PIRQF
#undef PIRQG
#undef PIRQH
#define PIRQE   8
#define PIRQF   9
#define PIRQG   10
#define PIRQH   11

/include/ "skeleton.dtsi"
/include/ "serial.dtsi"
/include/ "keyboard.dtsi"
/include/ "rtc.dtsi"
/include/ "tsc_timer.dtsi"

/ {
        model = "QEMU x86 (Q35)";
        compatible = "qemu,x86";

    aliases {
        spi0 = &spi;
    };

        config {
                silent_console = <0>;
                u-boot,no-apm-finalize;
        };

        chosen {
                stdout-path = "/serial";
        };

        cpus {
                #address-cells = <1>;
                #size-cells = <0>;

                cpu at 0 {
                        device_type = "cpu";
                        compatible = "cpu-qemu";
                        reg = <0>;
                        intel,apic-id = <0>;
                };
        };

        tsc-timer {
                clock-frequency = <1000000000>;
        };

        pci {
                compatible = "pci-x86";
                #address-cells = <3>;
                #size-cells = <2>;
                u-boot,dm-pre-reloc;
                ranges = <0x02000000 0x0 0xc0000000 0xc0000000 0 0x10000000
                        0x42000000 0x0 0xd0000000 0xd0000000 0 0x10000000
                        0x01000000 0x0 0x2000 0x2000 0 0xe000>;

                pch at 1f,0 {
                        reg = <0x0000f800 0 0 0 0>;
                        compatible = "intel,pch9";

                        irq-router {
                                compatible = "intel,irq-router";
                                intel,pirq-config = "pci";
                                intel,pirq-link = <0x60 8>;
                                intel,pirq-mask = <0x0e40>;
                                intel,pirq-routing = <
                                        /* e1000 NIC */
                                        PCI_BDF(0, 2, 0) INTA PIRQG
                                        /* ICH9 UHCI */
                                        PCI_BDF(0, 29, 0) INTA PIRQA
                                        PCI_BDF(0, 29, 1) INTB PIRQB
                                        PCI_BDF(0, 29, 2) INTC PIRQC
                                        /* ICH9 EHCI */
                                        PCI_BDF(0, 29, 7) INTD PIRQD
                                        /* ICH9 SATA */
                                        PCI_BDF(0, 31, 2) INTA PIRQA
                                >;
                        };

            spi: spi {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "intel,ich9-spi";
                spi-flash at 0 {
                                        #size-cells = <1>;
                                        #address-cells = <1>;
                    reg = <0>;
                    compatible = "winbond,w25q64dw",
                        "spi-flash";
                    memory-map = <0xff000000 0x01000000>;
                    rw-mrc-cache {
                        label = "rw-mrc-cache";
                        reg = <0x006e0000 0x00010000>;
                    };
                };
            };
                };

        };

};


Regards,
Hilbert
This e-mail and its attachment may contain PEGATRON Corp information that is confidential or privileged, and are solely for the use of the individual to whom this e-mail is addressed. If you are not the intended recipient or have received it accidentally, please immediately notify the sender by reply e-mail and destroy all copies of this email and its attachment. Please be advised that any unauthorized use, disclosure, distribution or copying of this email or its attachment is strictly prohibited.


More information about the U-Boot mailing list