x86: BayTrail: southcluster.asl: Change PCI 64 bit address range / region
PATCH 1/4 x86: BayTrail: southcluster.asl: Change PCI 64 bit address range / region
To allow bigger 64 bit prefetchable PCI regions in Linux, this patch changes the base address and range of the ACPI area passed to Linux. BayTrail can only physically access 36 bit of PCI address space. So just chaning the range without changing the base address won't work here, as 0xf.ffff.ffff is already the maximum address.
With this patch, a maximum of 16 GiB of local DDR is supported. This should be enough for all BayTrail boards though.
--- arch/x86/include/asm/arch-baytrail/acpi/southcluster.asl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
arch/x86/include/asm/arch-baytrail/acpi/southcluster.asl +3 -3
@@ -150,9 +150,9 @@ Device (PCI0) CreateQwordField(MCRS, ^UMEM._MAX, UMAX) CreateQwordField(MCRS, ^UMEM._LEN, ULEN) - /* Set base address to 48GB and allocate 16GB for PCI space */ - Store(0xc00000000, UMIN) - Store(0x400000000, ULEN) + /* Set base address to 16GB and allocate 48GB for PCI space */ + Store(0x400000000, UMIN) + Store(0xc00000000, ULEN) Add(UMIN, Subtract(ULEN, 1), UMAX) Return (MCRS)
Signature · 1 line
2.19.1
PATCH 2/4 x86: theadorable-x86-common: Change pci hotplug cmdline parameters (again)
This is needed for the PCIe hotplug to work correctly on some boards with the newer Linux kernel versions.
--- include/configs/theadorable-x86-common.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
include/configs/theadorable-x86-common.h +1 -2
@@ -57,8 +57,7 @@"addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \"addmisc=setenv bootargs ${bootargs} " \"intel-spi.writeable=1 vmalloc=300M " \ -"pci=realloc=on,hpmemsize=0x12000000," \ -"hpmemprefsize=0,hpiosize=0\0" \ +"pci=realloc=on,hpmemsize=0,hpiosize=0\0" \"bootcmd=if env exists recovery_status;" \"then run swupdate;" \"else run yocto_boot;run swupdate;" \
Signature · 1 line
2.19.1
PATCH 2/4 x86: theadorable-x86-common: Change pci hotplug cmdline parameters (again)
Quoted 10 lines · Stefan Roese
This is needed for the PCIe hotplug to work correctly on some boards with the newer Linux kernel versions.
Signed-off-by Stefan Roese <[email protected]>Cc Bin Meng <[email protected]>--- include/configs/theadorable-x86-common.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
I cannot find 'hpmemprefsize' as a kernel command line parameter, so I assume removing it does not introduce any issue.
PATCH 2/4 x86: theadorable-x86-common: Change pci hotplug cmdline parameters (again)
Quoted 13 lines · Bin Meng
Quoted 10 lines · Stefan Roese
This is needed for the PCIe hotplug to work correctly on some boards with the newer Linux kernel versions.
Signed-off-by Stefan Roese <[email protected]>Cc Bin Meng <[email protected]>--- include/configs/theadorable-x86-common.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
Quoted 4 lines
I cannot find 'hpmemprefsize' as a kernel command line parameter, so I assume removing it does not introduce any issue.
Reviewed-by Bin Meng <[email protected]>
applied to u-boot-x86, thanks!
PATCH 3/4 x86: theadorable-x86: Generate and pass root=PARTUUID instead of /dev/sdaX
In reply to Stefan RoeseTo enable the root device selection (kernel cmd-line) via PARTUUID, this patch enables CMD_PART on all missing theadorable-x86 boards and changes the default environment to generate the root=PARTUUID string automatically.
This fixes problems that have been noticed on systems with multiple SATA/AHCI controller connected via PCIe, where the device name for the root device / partition (/dev/sdaX) was incorrect.
--- ...able-x86-conga-qa3-e3845-pcie-x4_defconfig | 1 + .../theadorable-x86-conga-qa3-e3845_defconfig | 1 + include/configs/theadorable-x86-common.h | 35 +++++++++++-------- 3 files changed, 23 insertions(+), 14 deletions(-)
configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig +1 -0
@@ -26,6 +26,7 @@ CONFIG_CMD_CPU=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y +CONFIG_CMD_PART=y CONFIG_CMD_SF=y CONFIG_CMD_SPI=y CONFIG_CMD_USB=y
configs/theadorable-x86-conga-qa3-e3845_defconfig +1 -0
@@ -25,6 +25,7 @@ CONFIG_CMD_CPU=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y +CONFIG_CMD_PART=y CONFIG_CMD_SF=y CONFIG_CMD_SPI=y CONFIG_CMD_USB=y
include/configs/theadorable-x86-common.h +21 -14
@@ -62,33 +62,40 @@"then run swupdate;" \"else run yocto_boot;run swupdate;" \"fi\0" \ +"setroot=part uuid scsi 0:${partnr} uuid;" \ +"setenv root PARTUUID=${uuid}\0" \ +"setroot_ubuntu=setenv partnr ${ubuntu_part};run setroot\0" \ +"setroot_yocto=setenv partnr ${yocto_part};run setroot\0" \"ubuntu_args=setenv bootargs " \ -"root=/dev/sda${ubuntu_part} ro\0" \ +"root=${root} ro\0" \"ubuntu_args_quiet=setenv bootargs " \ -"root=/dev/sda${ubuntu_part} ro quiet\0" \ +"root=${root} ro quiet\0" \"ubuntu_load=load scsi 0:${ubuntu_part} 03000000 " \"/boot/vmlinuz-${kernel-ver};" \"load scsi 0:${ubuntu_part} 04000000 " \"/boot/initrd.img-${kernel-ver}\0" \ -"ubuntu_boot=run ubuntu_args_quiet addmtd addmisc " \ -"ubuntu_load boot\0" \ -"ubuntu_boot_console=run ubuntu_args addtty_ubuntu " \ +"ubuntu_boot=run setroot_ubuntu ubuntu_args_quiet " \"addmtd addmisc ubuntu_load boot\0" \ -"net_args=setenv bootargs root=/dev/sda${ubuntu_part} ro\0" \ -"net_boot=run start_eth net_args addtty_yocto addmtd addmisc;" \ +"ubuntu_boot_console=run setroot_ubuntu ubuntu_args " \ +"addtty_ubuntu addmtd addmisc ubuntu_load boot\0" \ +"net_args=setenv bootargs root=${root} ro\0" \ +"net_boot=run start_eth setroot_ubuntu net_args " \ +"addtty_ubuntu addmtd addmisc;" \"tftp 03000000 ${tftpdir}/bzImage;" \"load scsi 0:${ubuntu_part} 04000000 " \"/boot/initrd.img-${kernel-ver};" \"run boot\0" \ -"yocto_args=setenv bootargs root=/dev/sda${yocto_part} " \ -"panic=1\0" \ -"yocto_args_fast=setenv bootargs root=/dev/sda${yocto_part} " \ +"yocto_args=setenv bootargs root=${root} " \ +"panic=1\0" \ +"yocto_args_fast=setenv bootargs root=${root} " \"quiet panic=1\0" \ -"yocto_boot=run yocto_args addmtd addmisc addtty_yocto;" \ +"yocto_boot=run setroot_yocto yocto_args addmtd addmisc " \ +"addtty_yocto;" \"if run yocto_load;then zboot 03000000;fi\0" \ -"yocto_boot_fast=run yocto_args_fast addmtd addmisc " \ -"addtty_yocto yocto_load;zboot 03000000\0" \ -"yocto_boot_tftp=run yocto_args addmtd addmisc addtty_yocto " \ +"yocto_boot_fast=run setroot_yocto yocto_args_fast addmtd " \ +"addmisc addtty_yocto yocto_load;zboot 03000000\0" \ +"yocto_boot_tftp=run setroot_yocto yocto_args addmtd " \ +"addmisc addtty_yocto " \"start_eth yocto_load_tftp;zboot 03000000\0" \"yocto_kernel=bzImage\0" \"yocto_load=load scsi 0:${yocto_part} 03000000 " \
Signature · 1 line
2.19.1
PATCH 3/4 x86: theadorable-x86: Generate and pass root=PARTUUID instead of /dev/sdaX
Quoted 10 lines · Stefan Roese
To enable the root device selection (kernel cmd-line) via PARTUUID, this patch enables
CMD_PARTon all missing theadorable-x86 boards and changes the default environment to generate the root=PARTUUID string automatically.This fixes problems that have been noticed on systems with multiple SATA/AHCI controller connected via PCIe, where the device name for the root device / partition (
/dev/sdaX) was incorrect.
Quoted 7 lines
Signed-off-by Stefan Roese <[email protected]>--- ...able-x86-conga-qa3-e3845-pcie-x4_defconfig | 1 + .../theadorable-x86-conga-qa3-e3845_defconfig | 1 + include/configs/theadorable-x86-common.h | 35 +++++++++++-------- 3 files changed, 23 insertions(+), 14 deletions(-)
PATCH 3/4 x86: theadorable-x86: Generate and pass root=PARTUUID instead of /dev/sdaX
Quoted 20 lines · Bin Meng
Quoted 10 lines · Stefan Roese
To enable the root device selection (kernel cmd-line) via PARTUUID, this patch enables
CMD_PARTon all missing theadorable-x86 boards and changes the default environment to generate the root=PARTUUID string automatically.This fixes problems that have been noticed on systems with multiple SATA/AHCI controller connected via PCIe, where the device name for the root device / partition (
/dev/sdaX) was incorrect.Quoted 7 lines
Signed-off-by Stefan Roese <[email protected]>--- ...able-x86-conga-qa3-e3845-pcie-x4_defconfig | 1 + .../theadorable-x86-conga-qa3-e3845_defconfig | 1 + include/configs/theadorable-x86-common.h | 35 +++++++++++-------- 3 files changed, 23 insertions(+), 14 deletions(-)
Quoted 1 line
Reviewed-by Bin Meng <[email protected]>
applied to u-boot-x86, thanks!
PATCH 4/4 x86: theadorable-x86-xxx_defconfig: Move VGA BIOS to make room for U-Boot
In reply to Stefan RoeseThe build breaks because its not fitting the U-Boot binary into the ROM image. So lets move VGA BIOS a bit to make room for the grown U-Boot binary.
--- configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig | 2 +- configs/theadorable-x86-conga-qa3-e3845_defconfig | 2 +- configs/theadorable-x86-dfi-bt700_defconfig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig +1 -1
@@ -6,7 +6,7 @@ CONFIG_INTERNAL_UART=y CONFIG_FLASH_DESCRIPTOR_FILE="descriptor-pcie-x4.bin" CONFIG_SMP=y CONFIG_HAVE_VGA_BIOS=y -CONFIG_VGA_BIOS_ADDR=0xfffa0000 +CONFIG_VGA_BIOS_ADDR=0xfffb0000 CONFIG_GENERATE_PIRQ_TABLE=y CONFIG_GENERATE_MP_TABLE=y CONFIG_GENERATE_ACPI_TABLE=y
configs/theadorable-x86-conga-qa3-e3845_defconfig +1 -1
@@ -5,7 +5,7 @@ CONFIG_TARGET_THEADORABLE_X86_CONGA_QA3_E3845=y CONFIG_INTERNAL_UART=y CONFIG_SMP=y CONFIG_HAVE_VGA_BIOS=y -CONFIG_VGA_BIOS_ADDR=0xfffa0000 +CONFIG_VGA_BIOS_ADDR=0xfffb0000 CONFIG_GENERATE_PIRQ_TABLE=y CONFIG_GENERATE_MP_TABLE=y CONFIG_GENERATE_ACPI_TABLE=y
configs/theadorable-x86-dfi-bt700_defconfig +1 -1
@@ -4,7 +4,7 @@ CONFIG_VENDOR_DFI=y CONFIG_TARGET_THEADORABLE_X86_DFI_BT700=y CONFIG_SMP=y CONFIG_HAVE_VGA_BIOS=y -CONFIG_VGA_BIOS_ADDR=0xfffa0000 +CONFIG_VGA_BIOS_ADDR=0xfffb0000 CONFIG_GENERATE_PIRQ_TABLE=y CONFIG_GENERATE_MP_TABLE=y CONFIG_GENERATE_ACPI_TABLE=y
Signature · 1 line
2.19.1
PATCH 4/4 x86: theadorable-x86-xxx_defconfig: Move VGA BIOS to make room for U-Boot
Quoted 5 lines · Stefan Roese
The build breaks because its not fitting the U-Boot binary into the ROM image. So lets move VGA BIOS a bit to make room for the grown U-Boot binary.
Quoted 7 lines
Signed-off-by Stefan Roese <[email protected]>--- configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig | 2 +- configs/theadorable-x86-conga-qa3-e3845_defconfig | 2 +- configs/theadorable-x86-dfi-bt700_defconfig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
PATCH 4/4 x86: theadorable-x86-xxx_defconfig: Move VGA BIOS to make room for U-Boot
Quoted 15 lines · Bin Meng
Quoted 5 lines · Stefan Roese
The build breaks because its not fitting the U-Boot binary into the ROM image. So lets move VGA BIOS a bit to make room for the grown U-Boot binary.
Quoted 7 lines
Signed-off-by Stefan Roese <[email protected]>--- configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig | 2 +- configs/theadorable-x86-conga-qa3-e3845_defconfig | 2 +- configs/theadorable-x86-dfi-bt700_defconfig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
Quoted 1 line
Reviewed-by Bin Meng <[email protected]>
applied to u-boot-x86, thanks!
PATCH 1/4 x86: BayTrail: southcluster.asl: Change PCI 64 bit address range / region
In reply to Stefan RoeseQuoted 10 lines · Stefan Roese
To allow bigger 64 bit prefetchable PCI regions in Linux, this patch changes the base address and range of the ACPI area passed to Linux. BayTrail can only physically access 36 bit of PCI address space. So just chaning the range without changing the base address won't work here, as 0xf.ffff.ffff is already the maximum address.
With this patch, a maximum of 16 GiB of local DDR is supported. This should be enough for all BayTrail boards though.
Quoted 7 lines
Signed-off-by Stefan Roese <[email protected]>Cc Bin Meng <[email protected]>Cc Simon Glass <[email protected]>--- arch/x86/include/asm/arch-baytrail/acpi/southcluster.asl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
PATCH 1/4 x86: BayTrail: southcluster.asl: Change PCI 64 bit address range / region
Quoted 20 lines · Bin Meng
Quoted 10 lines · Stefan Roese
To allow bigger 64 bit prefetchable PCI regions in Linux, this patch changes the base address and range of the ACPI area passed to Linux. BayTrail can only physically access 36 bit of PCI address space. So just chaning the range without changing the base address won't work here, as 0xf.ffff.ffff is already the maximum address.
With this patch, a maximum of 16 GiB of local DDR is supported. This should be enough for all BayTrail boards though.
Quoted 7 lines
Signed-off-by Stefan Roese <[email protected]>Cc Bin Meng <[email protected]>Cc Simon Glass <[email protected]>--- arch/x86/include/asm/arch-baytrail/acpi/southcluster.asl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Quoted 1 line
Reviewed-by Bin Meng <[email protected]>
applied to u-boot-x86, thanks!