diff --git a/.buildbot/openwrt/build.sh b/.buildbot/openwrt/build.sh index 87cec19..df4b5c7 100755 --- a/.buildbot/openwrt/build.sh +++ b/.buildbot/openwrt/build.sh @@ -32,14 +32,23 @@ make defconfig # Enable collectd network encryption echo "CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK=y" >> .config +cat << "EOF" >> .config +CONFIG_PACKAGE_python3-packages=y +CONFIG_PACKAGE_python3-packages-list="RPi.GPIO==0.7.1" +CONFIG_PACKAGE_python3-packages-list-cleanup="setuptools" +EOF + make package/i2c-tools/compile make package/kmod-nvme/compile +make package/kmod-ili9340/compile make package/kmod-i2c-mux-pinctrl/compile make package/kmod-rtc-pcf85063/compile make package/nvme-cli/compile make package/ansible-core/compile make package/asterisk-chan-quectel/compile make package/collectd/compile +make package/python3-packages/compile +make package/waveshare-demo/compile sdkdir=$(pwd) cd ${pwd} @@ -138,21 +147,29 @@ make image PROFILE=${PROFILE} EXTRA_IMAGE_NAME="dualeth" \ PACKAGES="${PACKAGES}" DISABLED_SERVICES="dropbear" FILES="files" || exit 1 -sed -i "s|,i2c_csi_dsi||g" ${BOOTSOURCE}/current.txt sed -i "s/CONFIG_TARGET_ROOTFS_PARTSIZE=.*/CONFIG_TARGET_ROOTFS_PARTSIZE=768/g" .config +cp ${pwd}/overlays/waveshare32b.dtbo ${OVERLAYSOURCE} +cp ${pwd}/overlays/waveshare.txt ${BOOTSOURCE}/current.txt +cp ${OVERLAYSOURCE}/Makefile ${OVERLAYSOURCE}/Makefile.orig +pushd ${KERNELSOURCE} +git apply ${pwd}/patches/overlay-add-waveshare.patch +popd make image PROFILE=${PROFILE} EXTRA_IMAGE_NAME="waveshare" \ PACKAGES=" \ ${PACKAGES} cryptsetup kmod-ata-ahci smartmontools hdparm fdisk parted \ kmod-hwmon-drivetemp btrfs-progs kmod-fs-btrfs kmod-nvme nvme-cli \ - docker dockerd docker-compose block-mount" \ + docker dockerd docker-compose block-mount \ + kmod-ili9340 python3-packages python3-spidev python3-waveshare-demo" \ DISABLED_SERVICES="dropbear" FILES="files" || exit 1 cp ${pwd}/overlays/sensing.txt ${BOOTSOURCE}/current.txt cp ${pwd}/overlays/*.dtbo ${OVERLAYSOURCE} +rm ${OVERLAYSOURCE}/waveshare32b.dtbo cp config.txt ${BOOTCONFIG} echo "include current.txt" >> ${BOOTCONFIG} +cp ${OVERLAYSOURCE}/Makefile.orig ${OVERLAYSOURCE}/Makefile pushd ${KERNELSOURCE} git apply ${pwd}/patches/overlay-add.patch popd diff --git a/feed/kmod-ili9340/Makefile b/feed/kmod-ili9340/Makefile new file mode 100644 index 0000000..2e608ec --- /dev/null +++ b/feed/kmod-ili9340/Makefile @@ -0,0 +1,25 @@ +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=ili9340 + +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/$(PKG_NAME) + SUBMENU:=Other modules + TITLE:=FB driver for the ILI9340 LCD Controller + DEPENDS:=+kmod-fb-tft + AUTOLOAD:=$(call AutoProbe,fb_ili9340) + FILES:=$(PKG_BUILD_DIR)/fb_ili9340.ko + KCONFIG:= +endef + +define KernelPackage/$(PKG_NAME)/description + FB driver for the ILI9340 LCD Controller +endef + +EXTRA_KCONFIG:= CONFIG_FB_TFT_ILI9340=m + +include ../kmod.mk + +$(eval $(call KernelPackage,$(PKG_NAME))) diff --git a/feed/kmod-ili9340/src/Makefile b/feed/kmod-ili9340/src/Makefile new file mode 100644 index 0000000..7d5ed45 --- /dev/null +++ b/feed/kmod-ili9340/src/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0 +# Core module +obj-$(CONFIG_FB_TFT) += fbtft.o +fbtft-y += fbtft-core.o fbtft-sysfs.o fbtft-bus.o fbtft-io.o + +# drivers +obj-$(CONFIG_FB_TFT_ILI9340) += fb_ili9340.o diff --git a/feed/kmod-ili9340/src/fb_ili9340.c b/feed/kmod-ili9340/src/fb_ili9340.c new file mode 100644 index 0000000..704236b --- /dev/null +++ b/feed/kmod-ili9340/src/fb_ili9340.c @@ -0,0 +1,139 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * FB driver for the ILI9340 LCD Controller + * + * Copyright (C) 2013 Noralf Tronnes + */ + +#include +#include +#include +#include +#include