From f24c6b7b6088c8cd6b6c80f1b7bf8cb51f84bca4 Mon Sep 17 00:00:00 2001 From: Romain Perier Date: Thu, 7 Feb 2019 20:57:04 +0100 Subject: [PATCH] [armel/rpi] Add flavour for Raspberry Pi and Raspberry Pi Zero Nowadays, Raspberry Pi 2 and Rasberry Pi 3 works perfectly fine with Debian (including the official kernel package or the userland). RPi 1 and RPi Zero have an SoC that contains an armv6-based CPU, this means that it cannot work with an hardfloat ABI, that is armv7 based. So we have to use the Debian armel userland for this reason. Both boards are supported in the mainline linux kernel and not being supported in the debian-kernel package is the only blocking point that prevent RPI 1 and RPI Zero from being well supported in an official Debian distribution. This commit add a new kernel flavour for enabling support for the both platforms. --- debian/changelog | 1 + debian/config/armel/config.rpi | 193 +++++++++++++++++++++++++++++++++ debian/config/armel/defines | 5 + 3 files changed, 199 insertions(+) create mode 100644 debian/config/armel/config.rpi diff --git a/debian/changelog b/debian/changelog index 5f3901291..cfa732e84 100644 --- a/debian/changelog +++ b/debian/changelog @@ -640,6 +640,7 @@ linux (4.19.26-1) UNRELEASED; urgency=medium [ Romain Perier ] * [rt] Update to 4.19.25-rt16 + * [armel/rpi] Add flavour for Raspberry Pi and Raspberry Pi Zero -- Ben Hutchings Tue, 12 Feb 2019 12:49:10 +0000 diff --git a/debian/config/armel/config.rpi b/debian/config/armel/config.rpi new file mode 100644 index 000000000..c1324f434 --- /dev/null +++ b/debian/config/armel/config.rpi @@ -0,0 +1,193 @@ +## +## file: arch/arm/Kconfig +## +CONFIG_ARCH_MULTI_V6=y +# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_VFP=y + +## +## file: arch/arm/mach-bcm/Kconfig +## +CONFIG_ARCH_BCM=y +CONFIG_ARCH_BCM2835=y + +## +## file: drivers/base/Kconfig +## +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=32 + +## +## file: drivers/bluetooth/Kconfig +## +CONFIG_BT_HCIUART=m + + +## +## file: drivers/dma/Kconfig +## +CONFIG_DMADEVICES=y +CONFIG_DMA_BCM2835=y + +## +## file: drivers/firmware/Kconfig +## +CONFIG_RASPBERRYPI_FIRMWARE=y + + +## +## file: drivers/gpu/drm/Kconfig +## +CONFIG_DRM=y + +## +## file: drivers/gpu/drm/vc4/Kconfig +## +CONFIG_DRM_VC4=y + +## +## file: drivers/hwmon/Kconfig +## +CONFIG_SENSORS_RASPBERRYPI_HWMON=m + +## +## file: drivers/i2c/busses/Kconfig +## +CONFIG_I2C_BCM2835=y + +## +## file: drivers/iommu/Kconfig +## +# CONFIG_IOMMU_SUPPORT is not set + +## +## file: drivers/mailbox/Kconfig +## +CONFIG_MAILBOX=y +CONFIG_BCM2835_MBOX=y + +## +## file: drivers/mmc/Kconfig +## +CONFIG_MMC=y + +## +## file: drivers/mmc/host/Kconfig +## +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_IPROC=y +CONFIG_MMC_BCM2835=y + +## +## file: drivers/pwm/Kconfig +## +CONFIG_PWM=y +CONFIG_PWM_BCM2835=y + +## +## file: drivers/soc/bcm/Kconfig +## +CONFIG_RASPBERRYPI_POWER=y + +## +## file: drivers/spi/Kconfig +## +CONFIG_SPI_BCM2835=y +CONFIG_SPI_BCM2835AUX=y + +## +## file: drivers/staging/vc04_services/bcm2835-audio/Kconfig +## +CONFIG_SND_BCM2835=m + +## +## file: drivers/thermal/broadcom/Kconfig +## +CONFIG_BCM2835_THERMAL=y + +## +## file: drivers/tty/serial/Kconfig +## +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y + +## +## file: drivers/tty/serial/8250/Kconfig +## +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_BCM2835AUX=y + +## +## file: drivers/usb/Kconfig +## +CONFIG_USB=y + +## +## file: drivers/usb/core/Kconfig +## +CONFIG_USB_OTG=y + +## +## file: drivers/usb/dwc2/Kconfig +## +CONFIG_USB_DWC2=y + +## +## file: drivers/usb/gadget/Kconfig +## +CONFIG_USB_GADGET=y + +## +## file: drivers/usb/gadget/legacy/Kconfig +## +CONFIG_USB_ETH_EEM=y + +## +## file: drivers/usb/phy/Kconfig +## +CONFIG_NOP_USB_XCEIV=y + +## +## file: drivers/video/fbdev/Kconfig +## +CONFIG_FB_SIMPLE=y + +## +## file: drivers/watchdog/Kconfig +## +CONFIG_BCM2835_WDT=y + +## +## file: kernel/power/Kconfig +## +# CONFIG_SUSPEND is not set + +## +## file: kernel/trace/Kconfig +## +CONFIG_SCHED_TRACER=y +CONFIG_FUNCTION_PROFILER=y + +## +## file: lib/xz/Kconfig +## +# CONFIG_XZ_DEC_ARMTHUMB is not set + +## +## file: mm/Kconfig +## +CONFIG_CMA=y + +## +## file: sound/soc/Kconfig +## +CONFIG_SND_SOC=y + +## +## file: sound/soc/bcm/Kconfig +## +CONFIG_SND_BCM2835_SOC_I2S=y + diff --git a/debian/config/armel/defines b/debian/config/armel/defines index 04e18f98b..39acbaaa4 100644 --- a/debian/config/armel/defines +++ b/debian/config/armel/defines @@ -1,6 +1,7 @@ [base] flavours: marvell + rpi kernel-arch: arm [build] @@ -18,6 +19,10 @@ headers%gcc-8: linux-compiler-gcc-8-arm hardware: Marvell Kirkwood/Orion hardware-long: Marvell Kirkwood and Orion based systems (https://wiki.debian.org/ArmEabiPort#Supported_hardware) +[rpi_description] +hardware: Raspberry Pi and Pi Zero +hardware-long: Raspberry Pi, Raspberry Pi Zero based systems + [marvell_image] recommends: u-boot-tools ## Maximum kernel size for supported devices (64 bytes is the u-boot header)