[U-Boot] build error with CONFIG_DM_PCI disabled in menuconfig

Hi there I disabled CONFIG_DM_PCI in menuconfig because I have problem detecting AHCI SCSI controller on X86 board with CONFIG_DM_PCI enabled and the older code in drivers/pci/pci.c works for me in the previous U-boot version. Then I got the build error : u-boot/arch/x86/cpu/irq.c:29: undefined reference to `dm_pci_read_config8' u-boot/arch/x86/cpu/irq.c:104: undefined reference to `dm_pci_get_bdf' u-boot/arch/x86/cpu/irq.c:147: undefined reference to `dm_pci_read_config32' u-boot/arch/x86/cpu/pci.c:69: undefined reference to `pci_read_config16' u-boot/arch/x86/cpu/pci.c:73: undefined reference to `pci_read_config8' u-boot/arch/x86/cpu/pci.c:86: undefined reference to `pci_write_config8' u-boot/arch/x86/lib/bios_interrupts.c:137: undefined reference to `dm_pci_find_device' u-boot/arch/x86/lib/bios_interrupts.c:141: undefined reference to `dm_pci_get_bdf'
It seems that the code refers to the DM_PCI code regardless if CONFIG_DM_PCI is enabled or not. Is it ok to build U-boot with CONFIG_DM_PCI disabled or did I miss anything?
Thanks a lot, Chi -------------------------------------------------------------- Intel Research and Development Ireland Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

On Mon, Oct 10, 2016 at 11:47 PM, Ding, ChiX chix.ding@intel.com wrote:
Hi there I disabled CONFIG_DM_PCI in menuconfig because I have problem detecting AHCI SCSI controller on X86 board with CONFIG_DM_PCI enabled and the older code in drivers/pci/pci.c works for me in the previous U-boot version. Then I got the build error : u-boot/arch/x86/cpu/irq.c:29: undefined reference to `dm_pci_read_config8' u-boot/arch/x86/cpu/irq.c:104: undefined reference to `dm_pci_get_bdf' u-boot/arch/x86/cpu/irq.c:147: undefined reference to `dm_pci_read_config32' u-boot/arch/x86/cpu/pci.c:69: undefined reference to `pci_read_config16' u-boot/arch/x86/cpu/pci.c:73: undefined reference to `pci_read_config8' u-boot/arch/x86/cpu/pci.c:86: undefined reference to `pci_write_config8' u-boot/arch/x86/lib/bios_interrupts.c:137: undefined reference to `dm_pci_find_device' u-boot/arch/x86/lib/bios_interrupts.c:141: undefined reference to `dm_pci_get_bdf'
It seems that the code refers to the DM_PCI code regardless if CONFIG_DM_PCI is enabled or not. Is it ok to build U-boot with CONFIG_DM_PCI disabled or did I miss anything?
x86 has been fully converted to DM PCI, so legacy PCI driver is not supported now.
Which board are you using? Can you debug why AHCI does not work with DM PCI?
Regards, Bin

Hi Bin Thanks for the reply. I'm working on Intel Denvernton Board. As you suggested I'm debugging it using DM PCI now. In the device tree file, I define PCI as this, but I don't know what is missing so that AHCI isn't probed pci { compatible = "pci-x86"; #address-cells = <3>; #size-cells = <2>; u-boot,dm-pre-reloc; };
In coreboot.h, I define #define CONFIG_SCSI_AHCI #define CONFIG_SCSI
#ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA #define CONFIG_SYS_64BIT_LBA #define CONFIG_SCSI_DEV_LIST {PCI_VENDOR_ID_INTEL, \ 0x19b2}, \ {PCI_VENDOR_ID_INTEL, \ 0x19c2}
U-Boot dm tree command shows pci isn't probed. => dm tree Class Probed Name ---------------------------------------- root [ + ] root_driver keyboard [ + ] |-- keyboard serial [ + ] |-- serial rtc [ ] |-- rtc timer [ + ] |-- tsc-timer pci [ ] `-- pci
=> dm uclass uclass 0: root - * root_driver @ 7f4e9040, seq 0, (req -1)
uclass 9: simple_bus uclass 11: ahci uclass 12: blk uclass 14: cpu uclass 19: gpio uclass 24: irq uclass 25: keyboard - * keyboard @ 7f4e90c8, seq 0, (req -1)
uclass 27: lpc uclass 34: northbridge uclass 37: pch uclass 38: pci - pci @ 7f4e92c0
uclass 39: pci_generic uclass 50: rtc - rtc @ 7f4e91d0
uclass 51: serial - * serial @ 7f4e9140, seq 0, (req -1)
uclass 52: spi uclass 54: spi_flash uclass 55: spi_generic uclass 56: syscon uclass 59: timer - * tsc-timer @ 7f4e9248, seq 0, (req -1)
uclass 60: tpm
Thanks a lot, Chi
-----Original Message----- From: Bin Meng [mailto:bmeng.cn@gmail.com] Sent: Tuesday, October 11, 2016 2:44 AM To: Ding, ChiX chix.ding@intel.com; Simon Glass sjg@chromium.org Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] build error with CONFIG_DM_PCI disabled in menuconfig
On Mon, Oct 10, 2016 at 11:47 PM, Ding, ChiX chix.ding@intel.com wrote:
Hi there I disabled CONFIG_DM_PCI in menuconfig because I have problem detecting AHCI SCSI controller on X86 board with CONFIG_DM_PCI enabled and the older code in drivers/pci/pci.c works for me in the previous U-boot version. Then I got the build error : u-boot/arch/x86/cpu/irq.c:29: undefined reference to `dm_pci_read_config8' u-boot/arch/x86/cpu/irq.c:104: undefined reference to `dm_pci_get_bdf' u-boot/arch/x86/cpu/irq.c:147: undefined reference to `dm_pci_read_config32' u-boot/arch/x86/cpu/pci.c:69: undefined reference to `pci_read_config16' u-boot/arch/x86/cpu/pci.c:73: undefined reference to `pci_read_config8' u-boot/arch/x86/cpu/pci.c:86: undefined reference to `pci_write_config8' u-boot/arch/x86/lib/bios_interrupts.c:137: undefined reference to `dm_pci_find_device' u-boot/arch/x86/lib/bios_interrupts.c:141: undefined reference to `dm_pci_get_bdf'
It seems that the code refers to the DM_PCI code regardless if CONFIG_DM_PCI is enabled or not. Is it ok to build U-boot with CONFIG_DM_PCI disabled or did I miss anything?
x86 has been fully converted to DM PCI, so legacy PCI driver is not supported now.
Which board are you using? Can you debug why AHCI does not work with DM PCI?
Regards, Bin -------------------------------------------------------------- Intel Research and Development Ireland Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

Hi Chi,
On Tue, Oct 11, 2016 at 6:01 PM, Ding, ChiX chix.ding@intel.com wrote:
Hi Bin Thanks for the reply. I'm working on Intel Denvernton Board. As you suggested I'm debugging it using DM PCI now. In the device tree file, I define PCI as this, but I don't know what is missing so that AHCI isn't probed pci { compatible = "pci-x86"; #address-cells = <3>; #size-cells = <2>; u-boot,dm-pre-reloc; };
In coreboot.h, I define #define CONFIG_SCSI_AHCI #define CONFIG_SCSI
#ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA #define CONFIG_SYS_64BIT_LBA #define CONFIG_SCSI_DEV_LIST {PCI_VENDOR_ID_INTEL, \ 0x19b2}, \ {PCI_VENDOR_ID_INTEL, \ 0x19c2}
U-Boot dm tree command shows pci isn't probed. => dm tree Class Probed Name
root [ + ] root_driver keyboard [ + ] |-- keyboard serial [ + ] |-- serial rtc [ ] |-- rtc timer [ + ] |-- tsc-timer pci [ ] `-- pci
=> dm uclass uclass 0: root
- root_driver @ 7f4e9040, seq 0, (req -1)
uclass 9: simple_bus uclass 11: ahci uclass 12: blk uclass 14: cpu uclass 19: gpio uclass 24: irq uclass 25: keyboard
- keyboard @ 7f4e90c8, seq 0, (req -1)
uclass 27: lpc uclass 34: northbridge uclass 37: pch uclass 38: pci
- pci @ 7f4e92c0
uclass 39: pci_generic uclass 50: rtc
- rtc @ 7f4e91d0
uclass 51: serial
- serial @ 7f4e9140, seq 0, (req -1)
uclass 52: spi uclass 54: spi_flash uclass 55: spi_generic uclass 56: syscon uclass 59: timer
- tsc-timer @ 7f4e9248, seq 0, (req -1)
uclass 60: tpm
Thanks a lot, Chi
Please do not top-posting.
The reason is that PCI is not probed so that AHCI driver is not probed too. Can you please run pci command from U-Boot shell?
Regards, Bin

-----Original Message----- From: Bin Meng [mailto:bmeng.cn@gmail.com] Sent: Tuesday, October 11, 2016 11:44 AM To: Ding, ChiX chix.ding@intel.com Cc: Simon Glass sjg@chromium.org; u-boot@lists.denx.de Subject: Re: [U-Boot] build error with CONFIG_DM_PCI disabled in menuconfig
Hi Chi,
On Tue, Oct 11, 2016 at 6:01 PM, Ding, ChiX chix.ding@intel.com wrote:
Hi Bin Thanks for the reply. I'm working on Intel Denvernton Board. As you suggested I'm debugging it using DM PCI now. In the device tree file, I define PCI as this, but I don't know what is missing so that AHCI isn't probed pci { compatible = "pci-x86"; #address-cells = <3>; #size-cells = <2>; u-boot,dm-pre-reloc; };
In coreboot.h, I define #define CONFIG_SCSI_AHCI #define CONFIG_SCSI
#ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA #define CONFIG_SYS_64BIT_LBA #define CONFIG_SCSI_DEV_LIST {PCI_VENDOR_ID_INTEL, \ 0x19b2}, \ {PCI_VENDOR_ID_INTEL, \ 0x19c2}
U-Boot dm tree command shows pci isn't probed. => dm tree Class Probed Name
root [ + ] root_driver keyboard [ + ] |-- keyboard serial [ + ] |-- serial rtc [ ] |-- rtc timer [ + ] |-- tsc-timer pci [ ] `-- pci
=> dm uclass uclass 0: root
- root_driver @ 7f4e9040, seq 0, (req -1)
uclass 9: simple_bus uclass 11: ahci uclass 12: blk uclass 14: cpu uclass 19: gpio uclass 24: irq uclass 25: keyboard
- keyboard @ 7f4e90c8, seq 0, (req -1)
uclass 27: lpc uclass 34: northbridge uclass 37: pch uclass 38: pci
- pci @ 7f4e92c0
uclass 39: pci_generic uclass 50: rtc
- rtc @ 7f4e91d0
uclass 51: serial
- serial @ 7f4e9140, seq 0, (req -1)
uclass 52: spi uclass 54: spi_flash uclass 55: spi_generic uclass 56: syscon uclass 59: timer
- tsc-timer @ 7f4e9248, seq 0, (req -1)
uclass 60: tpm
Thanks a lot, Chi
Please do not top-posting.
The reason is that PCI is not probed so that AHCI driver is not probed too. Can you please run pci command from U-Boot shell?
Regards, Bin
Hi Bin Sorry that outlook does top-posting by default. I just changed it. I ran "pci" command from U-Boot shell and it says no such bus.
=> pci No such bus
Thanks, Chi -------------------------------------------------------------- Intel Research and Development Ireland Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
participants (2)
-
Bin Meng
-
Ding, ChiX