Skip to contentSkip to conversation

ARM: Import tango4_defconfig

RFC PATCH New Marc Gonzalez 3 participants 6 messages Jan 24, 2017 – Jan 30, 2017 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 ARM: Import tango4_defconfig

Import minimal defconfig for tango4 boards.

---
 arch/arm/configs/tango4_defconfig | 96 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 arch/arm/configs/tango4_defconfig
arch/arm/configs/tango4_defconfig new file +96 -0
new file mode 100644
index 000000000000..aab931fc0e03
@@ -0,0 +1,96 @@
+CONFIG_CROSS_COMPILE="arm-linux-gnueabihf-"
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_ARCH_TANGO=y
+# CONFIG_ARM_ERRATA_643719 is not set
+CONFIG_SMP=y
+CONFIG_PREEMPT=y
+CONFIG_HZ_300=y
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+# CONFIG_ATAGS is not set
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
+CONFIG_CMDLINE="console=ttyS0,115200 mem=256M"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_IPV6 is not set
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_TANGO=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_VENDOR_AURORA=y
+CONFIG_AURORA_NB8800=y
+CONFIG_AT803X_PHY=y
+# CONFIG_WLAN is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_RT288X=y
+CONFIG_SERIAL_OF_PLATFORM=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+CONFIG_I2C_XLR=y
+CONFIG_GPIOLIB=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_TANGO_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_TANGOX_WATCHDOG=y
+CONFIG_FB=y
+# CONFIG_HID is not set
+# CONFIG_USB_HID is not set
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_DMADEVICES=y
+CONFIG_EXT4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_TMPFS=y
+CONFIG_NFS_FS=y
+# CONFIG_NFS_V2 is not set
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_UTF8=m
+CONFIG_PRINTK_TIME=y
+# CONFIG_CRYPTO_ECHAINIV is not set
Signature · 1 line
2.10.0
#1 lore raw

RFC PATCH 1/1 ARM: Import tango4_defconfig

Quoted 14 lines · CET Marc Gonzalez

Import minimal defconfig for tango4 boards.

---
 arch/arm/configs/tango4_defconfig | 96 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 arch/arm/configs/tango4_defconfig
arch/arm/configs/tango4_defconfig new file +0 -0
new file mode 100644
index 000000000000..aab931fc0e03

arch/arm/configs/tango4_defconfig line 1

Quoted 1 line
arch/arm/configs/tango4_defconfig new file +1 -0
@@ -0,0 +1,96 @@
+CONFIG_CROSS_COMPILE="arm-linux-gnueabihf-"

This may cause problems with build bots, please remove that line

Quoted 4 lines
arch/arm/configs/tango4_defconfig new file +4 -0
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y

arch/arm/configs/tango4_defconfig line 15

Quoted 10 lines
arch/arm/configs/tango4_defconfig new file +10 -0
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_ARCH_TANGO=y
+# CONFIG_ARM_ERRATA_643719 is not set
+CONFIG_SMP=y
+CONFIG_PREEMPT=y
+CONFIG_HZ_300=y

Any specific reason for HZ=300?

arch/arm/configs/tango4_defconfig line 21

Quoted 6 lines
arch/arm/configs/tango4_defconfig new file +6 -0
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+# CONFIG_ATAGS is not set
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
+CONFIG_CMDLINE="console=ttyS0,115200 mem=256M"

You shouldn't need the command line override, as both the console port and the memory size can reliably be found in the DTB

Please also make sure that any hardware specific drivers are enabled in multi_v7_defconfig along with your platform specific one, and check that multi_v7_defconfig works as well as your own config.

Arnd

#2 lore raw

RFC PATCH 1/1 ARM: Import tango4_defconfig

Hello Arnd,

Thanks for taking a look.

Quoted 10 lines · Arnd Bergmann
Quoted 8 lines · CET Marc Gonzalez

Import minimal defconfig for tango4 boards.

---
 arch/arm/configs/tango4_defconfig | 96 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 arch/arm/configs/tango4_defconfig
Quoted 9 lines

arch/arm/configs/tango4_defconfig line 1

Quoted 7 lines
arch/arm/configs/tango4_defconfig new file +1 -0
new file mode 100644
index 000000000000..aab931fc0e03
@@ -0,0 +1,96 @@
+CONFIG_CROSS_COMPILE="arm-linux-gnueabihf-"

This may cause problems with build bots, please remove that line

Am I supposed to always export CONFIG_CROSS_COMPILE in my environment?

Quoted 8 lines
Quoted 8 lines
arch/arm/configs/tango4_defconfig new file +8 -0
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
Quoted 8 lines

arch/arm/configs/tango4_defconfig line 15

Quoted 6 lines
arch/arm/configs/tango4_defconfig new file +6 -0
+CONFIG_MODVERSIONS=y
+CONFIG_ARCH_TANGO=y
+# CONFIG_ARM_ERRATA_643719 is not set
+CONFIG_SMP=y
+CONFIG_PREEMPT=y
+CONFIG_HZ_300=y

Any specific reason for HZ=300?

Are you concerned that this particular HZ setting gets too little testing?

I was convinced by the Kconfig help blurb.

300 Hz is a good compromise choice allowing server performance while also showing good interactive responsiveness even on SMP and NUMA systems and exactly dividing by both PAL and NTSC frame rates for video and multimedia work.

Since the SoC is mostly used for television, I thought the "video and multimedia" argument made sense.

Also, one dev complained that the previous kernel had "bad latency when we sleep in user-space, therefore we must instead busy loop". I told him about HIGH_RES_TIMERS, but IIUC some user-space sleep functions don't go through the hrt-enabled syscalls.

So a 3 ms error seemed like an improvement over a 10 ms error.

Quoted 9 lines

arch/arm/configs/tango4_defconfig line 21

Quoted 6 lines
arch/arm/configs/tango4_defconfig new file +6 -0
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+# CONFIG_ATAGS is not set
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
+CONFIG_CMDLINE="console=ttyS0,115200 mem=256M"

You shouldn't need the command line override, as both the console port and the memory size can reliably be found in the DTB

I actually override that parameter in Uboot, but I didn't consider what happens when we don't have Uboot, or leave the parameter intact.

The DT says:

	memory at 80000000 {
		device_type = "memory";
		reg = <0x80000000 0x80000000>; /* 2 GB */
	};

2 GB is the actual memory on the board, but Linux is only allowed to manage a fraction of this. I've been told that the exact amount may even be a run-time value on some customer setups.

Is the boot-loader supposed to set the correct mem parameter?

	chosen {
		stdout-path = "serial:115200n8";
	};

Is this supposed to be equivalent to console=ttyS0,115200 ?

Quoted 3 lines

Please also make sure that any hardware specific drivers are enabled in multi_v7_defconfig along with your platform specific one, and check that multi_v7_defconfig works as well as your own config.

Isn't CONFIG_ARM_APPENDED_DTB=y incompatible with multi_v7_defconfig ?

Regards.

#3 lore raw

RFC PATCH 1/1 ARM: Import tango4_defconfig

Quoted 22 lines · Marc Gonzalez
Quoted 10 lines · Arnd Bergmann
Quoted 8 lines · CET Marc Gonzalez

Import minimal defconfig for tango4 boards.

---
 arch/arm/configs/tango4_defconfig | 96 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 arch/arm/configs/tango4_defconfig
Quoted 9 lines

arch/arm/configs/tango4_defconfig line 1

Quoted 7 lines
arch/arm/configs/tango4_defconfig new file +1 -0
new file mode 100644
index 000000000000..aab931fc0e03
@@ -0,0 +1,96 @@
+CONFIG_CROSS_COMPILE="arm-linux-gnueabihf-"

This may cause problems with build bots, please remove that line

Quoted 1 line

Am I supposed to always export CONFIG_CROSS_COMPILE in my environment?

I think what most people do is to have a way to call "make" with CROSS_COMPILE=...
and O=... set as arguments to 'make'.

Quoted 8 lines
Quoted 3 lines

arch/arm/configs/tango4_defconfig line 15

Quoted 1 line
arch/arm/configs/tango4_defconfig new file +1 -0
+CONFIG_HZ_300=y

Any specific reason for HZ=300?

Are you concerned that this particular HZ setting gets too little testing?

I was convinced by the Kconfig help blurb.

Quoted 7 lines

300 Hz is a good compromise choice allowing server performance while also showing good interactive responsiveness even on SMP and NUMA systems and exactly dividing by both PAL and NTSC frame rates for video and multimedia work.

Since the SoC is mostly used for television, I thought the "video and multimedia" argument made sense.

makes sense.

Quoted 6 lines

Also, one dev complained that the previous kernel had "bad latency when we sleep in user-space, therefore we must instead busy loop". I told him about HIGH_RES_TIMERS, but IIUC some user-space sleep functions don't go through the hrt-enabled syscalls.

So a 3 ms error seemed like an improvement over a 10 ms error.

This may have changed recently, I don't remember the details but I think nanosleep() uses highres timers these days unlike on older kernels.

Quoted 20 lines
Quoted 9 lines

arch/arm/configs/tango4_defconfig line 21

Quoted 6 lines
arch/arm/configs/tango4_defconfig new file +6 -0
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+# CONFIG_ATAGS is not set
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
+CONFIG_CMDLINE="console=ttyS0,115200 mem=256M"

You shouldn't need the command line override, as both the console port and the memory size can reliably be found in the DTB

I actually override that parameter in Uboot, but I didn't consider what happens when we don't have Uboot, or leave the parameter intact.

The DT says:

        memory at 80000000 {
                device_type = "memory";
                reg = <0x80000000 0x80000000>; /* 2 GB */
        };
Quoted 5 lines

2 GB is the actual memory on the board, but Linux is only allowed to manage a fraction of this. I've been told that the exact amount may even be a run-time value on some customer setups.

Is the boot-loader supposed to set the correct mem parameter?

Yes, whatever gets passed to the kernel should be correct, either by having the right board specific value in the dtb to start with, by having the bootloader detect the memory and override the dtb, or by the atags compat code taking the amount of memory from the atags.

Quoted 7 lines
        chosen {
                stdout-path = "serial:115200n8";
        };

Is this supposed to be equivalent to console=ttyS0,115200 ?

Yes, but you may need to specify "earlycon" (don't remember where we are on that front these days).

Quoted 5 lines
Quoted 3 lines

Please also make sure that any hardware specific drivers are enabled in multi_v7_defconfig along with your platform specific one, and check that multi_v7_defconfig works as well as your own config.

Isn't CONFIG_ARM_APPENDED_DTB=y incompatible with multi_v7_defconfig ?

No:
arch/arm/configs/multi_v7_defconfig:CONFIG_ARM_APPENDED_DTB=y

Arnd

#4 lore raw

PATCH v2 1/1 ARM: Import tango4_defconfig

Import a minimal defconfig for tango4 boards.

---
diff from v1
drop CONFIG_CROSS_COMPILE and CONFIG_CMDLINE

Anything else sticking out? :-)

---
 arch/arm/configs/tango4_defconfig | 94 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)
 create mode 100644 arch/arm/configs/tango4_defconfig
arch/arm/configs/tango4_defconfig new file +94 -0
new file mode 100644
index 000000000000..68725d4eae45
@@ -0,0 +1,94 @@
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_ARCH_TANGO=y
+# CONFIG_ARM_ERRATA_643719 is not set
+CONFIG_SMP=y
+CONFIG_PREEMPT=y
+CONFIG_HZ_300=y
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+# CONFIG_ATAGS is not set
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_ATAG_DTB_COMPAT=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_IPV6 is not set
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_MTD=y
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_TANGO=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_VENDOR_AURORA=y
+CONFIG_AURORA_NB8800=y
+CONFIG_AT803X_PHY=y
+# CONFIG_WLAN is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_SERIO is not set
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_RT288X=y
+CONFIG_SERIAL_OF_PLATFORM=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+CONFIG_I2C_XLR=y
+CONFIG_GPIOLIB=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_TANGO_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_TANGOX_WATCHDOG=y
+CONFIG_FB=y
+# CONFIG_HID is not set
+# CONFIG_USB_HID is not set
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_DMADEVICES=y
+CONFIG_EXT4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_TMPFS=y
+CONFIG_NFS_FS=y
+# CONFIG_NFS_V2 is not set
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_UTF8=m
+CONFIG_PRINTK_TIME=y
+# CONFIG_CRYPTO_ECHAINIV is not set
Signature · 1 line
2.10.0
#5 lore raw

PATCH v2 1/1 ARM: Import tango4_defconfig

Quoted 7 lines · Marc Gonzalez

Import a minimal defconfig for tango4 boards.

---
diff from v1
drop CONFIG_CROSS_COMPILE and CONFIG_CMDLINE

Quoted 5 lines

Anything else sticking out? :-)

---
 arch/arm/configs/tango4_defconfig | 94 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)
 create mode 100644 arch/arm/configs/tango4_defconfig

Nope, looks reasonable now! Applied to next/defconfig.

Regards,

-Olof