From b8c3838ed337c018967215839cceecdae9ca33b3 Mon Sep 17 00:00:00 2001 From: goodtft Date: Fri, 16 Jun 2017 11:38:15 +0800 Subject: [PATCH] ok ok --- LCD28-show | 22 ++++++++++- LCD32-show | 22 ++++++++++- LCD35-show | 22 ++++++++++- LCD35DPI-show | 31 +++++++++++++++ LCD35H_480_320-show | 27 +++++++++++++ LCD35H_600_400-show | 27 +++++++++++++ LCD35H_720_480-show | 27 +++++++++++++ LCD35H_810_540-show | 27 +++++++++++++ LCD35H_960_640-show | 27 +++++++++++++ LCD397-show | 22 ++++++++++- LCD43-show | 22 ++++++++++- LCD5-show | 22 ++++++++++- ReadMe.txt | 34 ++++++++++++++++ boot/config-35-480X320.txt | 63 ++++++++++++++++++++++++++++++ boot/config-35-600X400.txt | 63 ++++++++++++++++++++++++++++++ boot/config-35-720X480.txt | 63 ++++++++++++++++++++++++++++++ boot/config-35-810X540.txt | 63 ++++++++++++++++++++++++++++++ boot/config-35-960X640.txt | 63 ++++++++++++++++++++++++++++++ boot/config-35.txt | 2 +- boot/config-35DPI.txt | 73 +++++++++++++++++++++++++++++++++++ boot/config-43.txt | 2 +- boot/config-5.txt | 1 - boot/config-7B-800x480.txt | 1 - boot/config-7C-1024x600.txt | 1 - usr/99-calibration.conf-3508 | 6 +++ usr/bcm2709-rpi-2-b.dtb | Bin 0 -> 15352 bytes usr/bcm2710-rpi-3-b.dtb | Bin 0 -> 15988 bytes usr/qddpi24.dtb | Bin 0 -> 779 bytes 28 files changed, 722 insertions(+), 11 deletions(-) create mode 100644 LCD35DPI-show create mode 100644 LCD35H_480_320-show create mode 100644 LCD35H_600_400-show create mode 100644 LCD35H_720_480-show create mode 100644 LCD35H_810_540-show create mode 100644 LCD35H_960_640-show create mode 100644 ReadMe.txt create mode 100644 boot/config-35-480X320.txt create mode 100644 boot/config-35-600X400.txt create mode 100644 boot/config-35-720X480.txt create mode 100644 boot/config-35-810X540.txt create mode 100644 boot/config-35-960X640.txt create mode 100644 boot/config-35DPI.txt create mode 100644 usr/99-calibration.conf-3508 create mode 100644 usr/bcm2709-rpi-2-b.dtb create mode 100644 usr/bcm2710-rpi-3-b.dtb create mode 100644 usr/qddpi24.dtb diff --git a/LCD28-show b/LCD28-show index 60a9d88..5689829 100644 --- a/LCD28-show +++ b/LCD28-show @@ -1,4 +1,5 @@ -sudo mkdir -p /etc/X11/xorg.conf.d +#!/bin/bash +sudo mkdir /etc/X11/xorg.conf.d sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/ sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/tft9341.dtbo sudo cp -rf ./usr/99-calibration.conf-28 /etc/X11/xorg.conf.d/99-calibration.conf @@ -6,4 +7,23 @@ sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/ sudo cp ./usr/cmdline.txt /boot/ sudo cp ./usr/inittab /etc/ sudo cp ./boot/config-28.txt /boot/config.txt +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi sudo reboot diff --git a/LCD32-show b/LCD32-show index 8ac27ae..78b46cb 100644 --- a/LCD32-show +++ b/LCD32-show @@ -1,4 +1,5 @@ -sudo mkdir -p /etc/X11/xorg.conf.d +#!/bin/bash +sudo mkdir /etc/X11/xorg.conf.d sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/ sudo cp ./usr/tft9341-overlay.dtb /boot/overlays/tft9341.dtbo sudo cp -rf ./usr/99-calibration.conf-32 /etc/X11/xorg.conf.d/99-calibration.conf @@ -6,4 +7,23 @@ sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/ sudo cp ./usr/cmdline.txt /boot/ sudo cp ./usr/inittab /etc/ sudo cp ./boot/config-32.txt /boot/config.txt +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi sudo reboot diff --git a/LCD35-show b/LCD35-show index cf71e1f..2df27ab 100644 --- a/LCD35-show +++ b/LCD35-show @@ -1,4 +1,5 @@ -sudo mkdir -p /etc/X11/xorg.conf.d +#!/bin/bash +sudo mkdir /etc/X11/xorg.conf.d sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/ sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/tft35a.dtbo sudo cp -rf ./usr/99-calibration.conf-35 /etc/X11/xorg.conf.d/99-calibration.conf @@ -6,4 +7,23 @@ sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/ sudo cp ./usr/cmdline.txt /boot/ sudo cp ./usr/inittab /etc/ sudo cp ./boot/config-35.txt /boot/config.txt +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi sudo reboot diff --git a/LCD35DPI-show b/LCD35DPI-show new file mode 100644 index 0000000..3c489da --- /dev/null +++ b/LCD35DPI-show @@ -0,0 +1,31 @@ +#!/bin/bash +sudo cp -rf ./boot/config-35DPI.txt /boot/config.txt +sudo cp ./usr/bcm2709-rpi-2-b.dtb /boot/ +sudo cp ./usr/bcm2710-rpi-3-b.dtb /boot/ +sudo cp ./usr/cmdline.txt /boot/ +sudo cp ./usr/qddpi24.dtb /boot/overlays/ +sudo cp ./usr/qddpi24.dtb /boot/overlays/qddpi24.dtbo +sudo cp ./usr/inittab /etc/ +sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf +sudo mkdir -p /etc/X11/xorg.conf.d +sudo cp -rf ./usr/99-calibration.conf-3508 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi +sudo reboot diff --git a/LCD35H_480_320-show b/LCD35H_480_320-show new file mode 100644 index 0000000..b098bb4 --- /dev/null +++ b/LCD35H_480_320-show @@ -0,0 +1,27 @@ +#!/bin/bash +sudo cp -rf ./boot/config-35-480X320.txt /boot/config.txt +sudo cp ./usr/cmdline.txt /boot/ +sudo cp ./usr/inittab /etc/ +sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf +sudo mkdir -p /etc/X11/xorg.conf.d +sudo cp -rf ./usr/99-calibration.conf-3508 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi +sudo reboot \ No newline at end of file diff --git a/LCD35H_600_400-show b/LCD35H_600_400-show new file mode 100644 index 0000000..88c2bbe --- /dev/null +++ b/LCD35H_600_400-show @@ -0,0 +1,27 @@ +#!/bin/bash +sudo cp -rf ./boot/config-35-600X400.txt /boot/config.txt +sudo cp ./usr/cmdline.txt /boot/ +sudo cp ./usr/inittab /etc/ +sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf +sudo mkdir -p /etc/X11/xorg.conf.d +sudo cp -rf ./usr/99-calibration.conf-3508 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi +sudo reboot diff --git a/LCD35H_720_480-show b/LCD35H_720_480-show new file mode 100644 index 0000000..9be86ad --- /dev/null +++ b/LCD35H_720_480-show @@ -0,0 +1,27 @@ +#!/bin/bash +sudo cp -rf ./boot/config-35-720X480.txt /boot/config.txt +sudo cp ./usr/cmdline.txt /boot/ +sudo cp ./usr/inittab /etc/ +sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf +sudo mkdir -p /etc/X11/xorg.conf.d +sudo cp -rf ./usr/99-calibration.conf-3508 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi +sudo reboot diff --git a/LCD35H_810_540-show b/LCD35H_810_540-show new file mode 100644 index 0000000..78665c5 --- /dev/null +++ b/LCD35H_810_540-show @@ -0,0 +1,27 @@ +#!/bin/bash +sudo cp -rf ./boot/config-35-810X540.txt /boot/config.txt +sudo cp ./usr/cmdline.txt /boot/ +sudo cp ./usr/inittab /etc/ +sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf +sudo mkdir -p /etc/X11/xorg.conf.d +sudo cp -rf ./usr/99-calibration.conf-3508 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi +sudo reboot diff --git a/LCD35H_960_640-show b/LCD35H_960_640-show new file mode 100644 index 0000000..3c84b7e --- /dev/null +++ b/LCD35H_960_640-show @@ -0,0 +1,27 @@ +#!/bin/bash +sudo cp -rf ./boot/config-35-960X640.txt /boot/config.txt +sudo cp ./usr/cmdline.txt /boot/ +sudo cp ./usr/inittab /etc/ +sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf +sudo mkdir -p /etc/X11/xorg.conf.d +sudo cp -rf ./usr/99-calibration.conf-3508 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi +sudo reboot diff --git a/LCD397-show b/LCD397-show index 2da30e4..2aec81a 100644 --- a/LCD397-show +++ b/LCD397-show @@ -1,7 +1,27 @@ +#!/bin/bash sudo cp -rf ./boot/config-397.txt /boot/config.txt sudo cp ./usr/cmdline.txt /boot/ sudo cp ./usr/inittab /etc/ sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf -sudo mkdir -p /etc/X11/xorg.conf.d +sudo mkdir /etc/X11/xorg.conf.d sudo cp -rf ./usr/99-calibration.conf-397 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi sudo reboot diff --git a/LCD43-show b/LCD43-show index 2b0b701..1a31781 100644 --- a/LCD43-show +++ b/LCD43-show @@ -1,7 +1,27 @@ +#!/bin/bash sudo cp -rf ./boot/config-43.txt /boot/config.txt sudo cp ./usr/cmdline.txt /boot/ sudo cp ./usr/inittab /etc/ sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf -sudo mkdir -p /etc/X11/xorg.conf.d +sudo mkdir /etc/X11/xorg.conf.d sudo cp -rf ./usr/99-calibration.conf-43 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi sudo reboot diff --git a/LCD5-show b/LCD5-show index 5a7ab7a..e095fbe 100644 --- a/LCD5-show +++ b/LCD5-show @@ -1,7 +1,27 @@ +#!/bin/bash sudo cp -rf ./boot/config-5.txt /boot/config.txt sudo cp ./usr/cmdline.txt /boot/ sudo cp ./usr/inittab /etc/ sudo cp -rf ./usr/99-fbturbo.conf-HDMI /usr/share/X11/xorg.conf.d/99-fbturbo.conf -sudo mkdir -p /etc/X11/xorg.conf.d +sudo mkdir /etc/X11/xorg.conf.d sudo cp -rf ./usr/99-calibration.conf-5 /etc/X11/xorg.conf.d/99-calibration.conf +nodeplatform=`uname -n` +kernel=`uname -r` +version=`uname -v` +if test "$nodeplatform" = "raspberrypi";then +echo "this is raspberrypi kernel" +version=${version%% *} +version=${version#*#} +echo $version +if test $version -lt 970;then +echo "reboot" +else +echo "need to update touch configuration" +sudo dpkg -i -B xserver-xorg-input-evdev_1%3a2.10.3-1_armhf.deb +sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf +echo "reboot" +fi +else +echo "this is not raspberrypi kernel, no need to update touch configure, reboot" +fi sudo reboot diff --git a/ReadMe.txt b/ReadMe.txt new file mode 100644 index 0000000..b15cd03 --- /dev/null +++ b/ReadMe.txt @@ -0,0 +1,34 @@ + +[version] + v1.1 +[Driver installation] +Step1, Install Raspbian official mirror +1)Download Raspbian official mirror:https://www.raspberrypi.org/downloads/ +2)Use¡°SDFormatter.exe¡±to Format your TF Card£¬ +3)Use¡°Win32DiskImager.exe¡± Burning mirror to TF Card¡£ +Step2, Install LCD Driver +1)Copy ¡°LCD-show-160701.tar.gz¡± to the root directory of raspberry pi£¨you can copy it directly to TF card after Step1, or use SFTP to remote copy£© +2)Landing Raspberry pi system to user command line (Name:pi,Password:raspberry)£¬Execute the following command: +cd /boot +sudo tar zxvf LCD-show-160701.tar.gz +cd LCD-show/ +#For 2.8inch RPI LCD excute: +sudo ./LCD28-show +# For 3.2inch RPI LCD excute: +sudo ./LCD32-show +# For 3.5inch RPI LCD excute: +sudo ./LCD35-show +# For 3.97inch RPI LCD excute: +sudo ./LCD397-show +# For 4.3inch RPI LCD excute: +sudo ./LCD43-show +# For 5inch RPI LCD excute: +sudo ./LCD5-show +# For 7inch(B)-800X480 RPI LCD excute: +sudo ./LCD7B-show +# For 7inch(C)-1024X600 RPI LCD excute: +sudo ./LCD7C-show +# If you need to switch back to the traditional HDMI display excute: +Sudo ./LCD-hdmi + +3)Wait a few minutes,the system will restart automaticall , enjoy with your LCD. diff --git a/boot/config-35-480X320.txt b/boot/config-35-480X320.txt new file mode 100644 index 0000000..7333be5 --- /dev/null +++ b/boot/config-35-480X320.txt @@ -0,0 +1,63 @@ +# For more options and information see +# http://www.raspberrypi.org/documentation/configuration/config-txt.md +# Some settings may impact device functionality. See link above for details + +# uncomment if you get no picture on HDMI for a default "safe" mode +#hdmi_safe=1 + +# uncomment this if your display has a black border of unused pixels visible +# and your display can output without overscan +#disable_overscan=1 + +# uncomment the following to adjust overscan. Use positive numbers if console +# goes off screen, and negative if there is too much border +#overscan_left=16 +#overscan_right=16 +#overscan_top=16 +#overscan_bottom=16 + +# uncomment to force a console size. By default it will be display's size minus +# overscan. +#framebuffer_width=1280 +#framebuffer_height=720 + +# uncomment if hdmi display is not detected and composite is being output +hdmi_force_hotplug=1 + +# uncomment to force a specific HDMI mode (this will force VGA) +#hdmi_group=1 +#hdmi_mode=1 + +# uncomment to force a HDMI mode rather than DVI. This can make audio work in +# DMT (computer monitor) modes +#hdmi_drive=2 + +# uncomment to increase signal to HDMI, if you have interference, blanking, or +# no display +#config_hdmi_boost=4 + +# uncomment for composite PAL +#sdtv_mode=2 + +#uncomment to overclock the arm. 700 MHz is the default. +#arm_freq=800 + +# Uncomment some or all of these to enable the optional hardware interfaces +dtparam=i2c_arm=on +#dtparam=i2s=on +dtparam=spi=on +enable_uart=1 +# Uncomment this to enable the lirc-rpi module +#dtoverlay=lirc-rpi + +# Additional overlays and parameters are documented /boot/overlays/README + +# Enable audio (loads snd_bcm2835) +dtparam=audio=on + +hdmi_drive=2 +hdmi_force_hotplug=1 +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt 480 320 60 6 0 0 0 +dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 diff --git a/boot/config-35-600X400.txt b/boot/config-35-600X400.txt new file mode 100644 index 0000000..98b60ec --- /dev/null +++ b/boot/config-35-600X400.txt @@ -0,0 +1,63 @@ +# For more options and information see +# http://www.raspberrypi.org/documentation/configuration/config-txt.md +# Some settings may impact device functionality. See link above for details + +# uncomment if you get no picture on HDMI for a default "safe" mode +#hdmi_safe=1 + +# uncomment this if your display has a black border of unused pixels visible +# and your display can output without overscan +#disable_overscan=1 + +# uncomment the following to adjust overscan. Use positive numbers if console +# goes off screen, and negative if there is too much border +#overscan_left=16 +#overscan_right=16 +#overscan_top=16 +#overscan_bottom=16 + +# uncomment to force a console size. By default it will be display's size minus +# overscan. +#framebuffer_width=1280 +#framebuffer_height=720 + +# uncomment if hdmi display is not detected and composite is being output +hdmi_force_hotplug=1 + +# uncomment to force a specific HDMI mode (this will force VGA) +#hdmi_group=1 +#hdmi_mode=1 + +# uncomment to force a HDMI mode rather than DVI. This can make audio work in +# DMT (computer monitor) modes +#hdmi_drive=2 + +# uncomment to increase signal to HDMI, if you have interference, blanking, or +# no display +#config_hdmi_boost=4 + +# uncomment for composite PAL +#sdtv_mode=2 + +#uncomment to overclock the arm. 700 MHz is the default. +#arm_freq=800 + +# Uncomment some or all of these to enable the optional hardware interfaces +dtparam=i2c_arm=on +#dtparam=i2s=on +dtparam=spi=on +enable_uart=1 +# Uncomment this to enable the lirc-rpi module +#dtoverlay=lirc-rpi + +# Additional overlays and parameters are documented /boot/overlays/README + +# Enable audio (loads snd_bcm2835) +dtparam=audio=on + +hdmi_drive=2 +hdmi_force_hotplug=1 +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt 600 400 60 6 0 0 0 +dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 diff --git a/boot/config-35-720X480.txt b/boot/config-35-720X480.txt new file mode 100644 index 0000000..4eb951c --- /dev/null +++ b/boot/config-35-720X480.txt @@ -0,0 +1,63 @@ +# For more options and information see +# http://www.raspberrypi.org/documentation/configuration/config-txt.md +# Some settings may impact device functionality. See link above for details + +# uncomment if you get no picture on HDMI for a default "safe" mode +#hdmi_safe=1 + +# uncomment this if your display has a black border of unused pixels visible +# and your display can output without overscan +#disable_overscan=1 + +# uncomment the following to adjust overscan. Use positive numbers if console +# goes off screen, and negative if there is too much border +#overscan_left=16 +#overscan_right=16 +#overscan_top=16 +#overscan_bottom=16 + +# uncomment to force a console size. By default it will be display's size minus +# overscan. +#framebuffer_width=1280 +#framebuffer_height=720 + +# uncomment if hdmi display is not detected and composite is being output +hdmi_force_hotplug=1 + +# uncomment to force a specific HDMI mode (this will force VGA) +#hdmi_group=1 +#hdmi_mode=1 + +# uncomment to force a HDMI mode rather than DVI. This can make audio work in +# DMT (computer monitor) modes +#hdmi_drive=2 + +# uncomment to increase signal to HDMI, if you have interference, blanking, or +# no display +#config_hdmi_boost=4 + +# uncomment for composite PAL +#sdtv_mode=2 + +#uncomment to overclock the arm. 700 MHz is the default. +#arm_freq=800 + +# Uncomment some or all of these to enable the optional hardware interfaces +dtparam=i2c_arm=on +#dtparam=i2s=on +dtparam=spi=on +enable_uart=1 +# Uncomment this to enable the lirc-rpi module +#dtoverlay=lirc-rpi + +# Additional overlays and parameters are documented /boot/overlays/README + +# Enable audio (loads snd_bcm2835) +dtparam=audio=on + +hdmi_drive=2 +hdmi_force_hotplug=1 +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt 720 480 60 6 0 0 0 +dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 diff --git a/boot/config-35-810X540.txt b/boot/config-35-810X540.txt new file mode 100644 index 0000000..a455caf --- /dev/null +++ b/boot/config-35-810X540.txt @@ -0,0 +1,63 @@ +# For more options and information see +# http://www.raspberrypi.org/documentation/configuration/config-txt.md +# Some settings may impact device functionality. See link above for details + +# uncomment if you get no picture on HDMI for a default "safe" mode +#hdmi_safe=1 + +# uncomment this if your display has a black border of unused pixels visible +# and your display can output without overscan +#disable_overscan=1 + +# uncomment the following to adjust overscan. Use positive numbers if console +# goes off screen, and negative if there is too much border +#overscan_left=16 +#overscan_right=16 +#overscan_top=16 +#overscan_bottom=16 + +# uncomment to force a console size. By default it will be display's size minus +# overscan. +#framebuffer_width=1280 +#framebuffer_height=720 + +# uncomment if hdmi display is not detected and composite is being output +hdmi_force_hotplug=1 + +# uncomment to force a specific HDMI mode (this will force VGA) +#hdmi_group=1 +#hdmi_mode=1 + +# uncomment to force a HDMI mode rather than DVI. This can make audio work in +# DMT (computer monitor) modes +#hdmi_drive=2 + +# uncomment to increase signal to HDMI, if you have interference, blanking, or +# no display +#config_hdmi_boost=4 + +# uncomment for composite PAL +#sdtv_mode=2 + +#uncomment to overclock the arm. 700 MHz is the default. +#arm_freq=800 + +# Uncomment some or all of these to enable the optional hardware interfaces +dtparam=i2c_arm=on +#dtparam=i2s=on +dtparam=spi=on +enable_uart=1 +# Uncomment this to enable the lirc-rpi module +#dtoverlay=lirc-rpi + +# Additional overlays and parameters are documented /boot/overlays/README + +# Enable audio (loads snd_bcm2835) +dtparam=audio=on + +hdmi_drive=2 +hdmi_force_hotplug=1 +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt 810 540 60 6 0 0 0 +dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 diff --git a/boot/config-35-960X640.txt b/boot/config-35-960X640.txt new file mode 100644 index 0000000..83ac695 --- /dev/null +++ b/boot/config-35-960X640.txt @@ -0,0 +1,63 @@ +# For more options and information see +# http://www.raspberrypi.org/documentation/configuration/config-txt.md +# Some settings may impact device functionality. See link above for details + +# uncomment if you get no picture on HDMI for a default "safe" mode +#hdmi_safe=1 + +# uncomment this if your display has a black border of unused pixels visible +# and your display can output without overscan +#disable_overscan=1 + +# uncomment the following to adjust overscan. Use positive numbers if console +# goes off screen, and negative if there is too much border +#overscan_left=16 +#overscan_right=16 +#overscan_top=16 +#overscan_bottom=16 + +# uncomment to force a console size. By default it will be display's size minus +# overscan. +#framebuffer_width=1280 +#framebuffer_height=720 + +# uncomment if hdmi display is not detected and composite is being output +hdmi_force_hotplug=1 + +# uncomment to force a specific HDMI mode (this will force VGA) +#hdmi_group=1 +#hdmi_mode=1 + +# uncomment to force a HDMI mode rather than DVI. This can make audio work in +# DMT (computer monitor) modes +#hdmi_drive=2 + +# uncomment to increase signal to HDMI, if you have interference, blanking, or +# no display +#config_hdmi_boost=4 + +# uncomment for composite PAL +#sdtv_mode=2 + +#uncomment to overclock the arm. 700 MHz is the default. +#arm_freq=800 + +# Uncomment some or all of these to enable the optional hardware interfaces +dtparam=i2c_arm=on +#dtparam=i2s=on +dtparam=spi=on +enable_uart=1 +# Uncomment this to enable the lirc-rpi module +#dtoverlay=lirc-rpi + +# Additional overlays and parameters are documented /boot/overlays/README + +# Enable audio (loads snd_bcm2835) +dtparam=audio=on + +hdmi_drive=2 +hdmi_force_hotplug=1 +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt 960 640 60 6 0 0 0 +dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 diff --git a/boot/config-35.txt b/boot/config-35.txt index e234457..16f27d3 100644 --- a/boot/config-35.txt +++ b/boot/config-35.txt @@ -54,5 +54,5 @@ enable_uart=1 # Enable audio (loads snd_bcm2835) dtparam=audio=on -dtoverlay=tft35a:rotate=90 +dtoverlay=tft35a dtoverlay=ads7846,cs=1,penirq=17,penirq_pull=2,speed=1000000,keep_vref_on=1,swapxy=1,pmax=255,xohms=60,xmin=200,xmax=3900,ymin=200,ymax=3900 diff --git a/boot/config-35DPI.txt b/boot/config-35DPI.txt new file mode 100644 index 0000000..0f7f125 --- /dev/null +++ b/boot/config-35DPI.txt @@ -0,0 +1,73 @@ +# For more options and information see +# http://www.raspberrypi.org/documentation/configuration/config-txt.md +# Some settings may impact device functionality. See link above for details + +# uncomment if you get no picture on HDMI for a default "safe" mode +#hdmi_safe=1 + +# uncomment this if your display has a black border of unused pixels visible +# and your display can output without overscan +#disable_overscan=1 + +# uncomment the following to adjust overscan. Use positive numbers if console +# goes off screen, and negative if there is too much border +#overscan_left=16 +#overscan_right=16 +#overscan_top=16 +#overscan_bottom=16 + +# uncomment to force a console size. By default it will be display's size minus +# overscan. +#framebuffer_width=1280 +#framebuffer_height=720 + +# uncomment if hdmi display is not detected and composite is being output +hdmi_force_hotplug=1 + +# uncomment to force a specific HDMI mode (this will force VGA) +#hdmi_group=1 +#hdmi_mode=1 + +# uncomment to force a HDMI mode rather than DVI. This can make audio work in +# DMT (computer monitor) modes +#hdmi_drive=2 + +# uncomment to increase signal to HDMI, if you have interference, blanking, or +# no display +#config_hdmi_boost=4 + +# uncomment for composite PAL +#sdtv_mode=2 + +#uncomment to overclock the arm. 700 MHz is the default. +#arm_freq=800 + +# Uncomment some or all of these to enable the optional hardware interfaces +dtparam=i2c_arm=on +#dtparam=i2s=on +dtparam=spi=on +enable_uart=1 +# Uncomment this to enable the lirc-rpi module +#dtoverlay=lirc-rpi + +# Additional overlays and parameters are documented /boot/overlays/README + +# Enable audio (loads snd_bcm2835) +dtparam=audio=on + +display_rotate=1 +dtoverlay=qddpi24 +overscan_left=0 +overscan_right=0 +overscan_top=0 +overscan_bottom=0 +framebuffer_width=480 +framebuffer_height=320 +enable_dpi_lcd=1 +display_default_lcd=1 +dpi_group=2 +dpi_mode=87 +dpi_output_format=0x07f003 +hdmi_timings=321 0 28 18 28 480 0 2 2 4 0 0 0 60 0 32000000 6 + +dtoverlay=ads7846,cs=1,penirq=18,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 diff --git a/boot/config-43.txt b/boot/config-43.txt index d6140f8..7b6d5c6 100644 --- a/boot/config-43.txt +++ b/boot/config-43.txt @@ -56,7 +56,7 @@ enable_uart=1 dtparam=audio=on max_usb_current=1 display_rotate=0 -hdmi_drive=1 +max_usb_current=1 hdmi_group=2 hdmi_mode=87 hdmi_timings=480 0 1 41 2 272 0 2 10 2 0 0 0 60 0 9000000 3 diff --git a/boot/config-5.txt b/boot/config-5.txt index 2b8342f..9760f4c 100644 --- a/boot/config-5.txt +++ b/boot/config-5.txt @@ -55,7 +55,6 @@ enable_uart=1 # Enable audio (loads snd_bcm2835) dtparam=audio=on max_usb_current=1 -hdmi_drive=1 hdmi_group=2 hdmi_mode=1 hdmi_mode=87 diff --git a/boot/config-7B-800x480.txt b/boot/config-7B-800x480.txt index 2b8342f..9760f4c 100644 --- a/boot/config-7B-800x480.txt +++ b/boot/config-7B-800x480.txt @@ -55,7 +55,6 @@ enable_uart=1 # Enable audio (loads snd_bcm2835) dtparam=audio=on max_usb_current=1 -hdmi_drive=1 hdmi_group=2 hdmi_mode=1 hdmi_mode=87 diff --git a/boot/config-7C-1024x600.txt b/boot/config-7C-1024x600.txt index 3147408..a2ef456 100644 --- a/boot/config-7C-1024x600.txt +++ b/boot/config-7C-1024x600.txt @@ -55,7 +55,6 @@ enable_uart=1 # Enable audio (loads snd_bcm2835) dtparam=audio=on max_usb_current=1 -hdmi_drive=1 hdmi_group=2 hdmi_mode=1 hdmi_mode=87 diff --git a/usr/99-calibration.conf-3508 b/usr/99-calibration.conf-3508 new file mode 100644 index 0000000..51e9729 --- /dev/null +++ b/usr/99-calibration.conf-3508 @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "calibration" + MatchProduct "ADS7846 Touchscreen" + Option "Calibration" "3945 233 3939 183" + Option "SwapAxes" "1" +EndSection diff --git a/usr/bcm2709-rpi-2-b.dtb b/usr/bcm2709-rpi-2-b.dtb new file mode 100644 index 0000000000000000000000000000000000000000..42ced288fe8e125f54b1a64d9006dfbacd98ca17 GIT binary patch literal 15352 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 J&L(M?uwOcxg&+U` literal 0 HcmV?d00001