9 Replies Latest reply on May 11, 2017 11:26 AM by Carlos_A

    braswell enable/disable pci device

    keziaha Green Belt

      Hello,

       

      i try activated pci device 28 function 0 , 22C8h pcie Port 1:

       

      i use register:  Function Disable (FUNC_DIS)—Offset 34h

       

      FUNC_DIS_BITS  bit 20 - PCIE* function 0  set  0.

       

      After write bit 20 set to 0, i read this register and this bit always 1.

      Can you enable pci device by this register ?

      is there another solution for activate this pci device (device 28 function 0 , 22C8h pcie Port 1) ?

       

      Best regards,

       

      Sébastien

        • Re: braswell enable/disable pci device
          AdolfoS Brown Belt

          Hello keziaha 

           

          Could you please let me know how are you changing the state of the bit?

           

           

          Are you using a third party program? Are you developing your own application?

           

           

          What operating system are you using?

           

           

          Are you using your own board or a third party board?

           

           

          I will be waiting for your feedback.

           

           

          Best regards,

          Adolfo Sanchez

            • Re: braswell enable/disable pci device
              keziaha Green Belt

              Hello Adolfo,

               

              We have design our board with braswell cpu, for boot i use coreboot + fsp.

              I develop in  coreboot, so i write directly in register :

              pmc_base + func_dis: 0xfed03000 + 0x34 set bit 20 for pcie function 0

              My goal is pcie port 1 (function 0) is always enable, power on , even without device connected on line pci.

               

              Sébastien

                • Re: braswell enable/disable pci device
                  Carlos_A Brown Belt

                  Hello, keziaha:

                   

                  Thanks for your reply.

                   

                  The information that may help you as a reference is stated at:

                   

                  https://mail.coreboot.org/pipermail/coreboot-gerrit/2015-November/036179.html

                  coreboot/pcie.h at master · coreboot/coreboot · GitHub

                  coreboot/pcie.c at master · coreboot/coreboot · GitHub

                   

                  We hope that this information may help you.

                   

                  Best regards,

                  Carlos_A.

                    • Re: braswell enable/disable pci device
                      keziaha Green Belt

                      Hello,

                      here my trace :

                       

                      src/soc/intel/braswell/chip.c/enable_dev ( Intel Braswell SoC ), type: 2

                      vendor: 0xffff. device: 0xffff

                      class: 0xff Unassigned class

                      subclass: 0xff ???

                      prog: 0xff

                      revision: 0xff

                      src/soc/intel/braswell/southcluster.c/southcluster_enable_dev ( Intel Braswell SoC )

                      PCI: Static device PCI: 00:1c.0 not found, disabling it.

                      PCI: 00:1c.0 [ffff/ffff/00ffff] has unknown header type ff, ignoring.

                      PCI: 00:1c.0 [ffff/ffff] enabled No operations

                      pci_probe_dev dev

                      pci_probe_dev enable device

                      ----------

                      src/soc/intel/braswell/chip.c/enable_dev ( Intel Braswell SoC ), type: 2

                      vendor: 0x8086. device: 0x22ca

                      class: 0x06 Bridge

                      subclass: 0x04 PCI bridge

                      prog: 0x00

                      revision: 0x35

                      src/soc/intel/braswell/southcluster.c/southcluster_enable_dev ( Intel Braswell SoC )

                      PCI: 00:1c.1 [8086/0000] bus ops

                      src/soc/intel/braswell/pcie.c/pcie_enable ( Intel Braswell SoC )

                      src/soc/intel/braswell/pcie.c/check_port_enabled ( Intel Braswell SoC )

                      src/soc/intel/braswell/pcie.c/check_device_present ( Intel Braswell SoC )

                      src/soc/intel/braswell/southcluster.c/southcluster_enable_dev ( Intel Braswell SoC )

                      PCI: 00:1c.1 [8086/22ca] enabled

                      pci_probe_dev dev

                      pci_probe_dev enable device

                       

                       

                       

                      i don't see vendor id and device id of device port 1:

                      vendor: 0xffff. device: 0xffff

                      class: 0xff Unassigned class

                      Why ? device pcie port 1 is disable before?

                      On device port2 we see vendor id and device id , pcie_enable is launched after .