Ok, for mine with portrait and ports at bottom:
/boot/config.txt
# For more options and information see
# http://rpf.io/configtxt
# 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=2
hdmi_mode=9
# 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
# 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
dtoverlay=hyperpixel4:rotate
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87
dpi_output_format=0x7f216
hdmi_timings=480 0 10 16 59 800 0 15 113 15 0 0 0 60 0 32000000 6
framebuffer_width=480
framebuffer_height=800
display_rotate=2
gpu_mem=128
hyperpixel4.dts
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2708";
fragment@0 {
target = <0xdeadbeef>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <0x1>;
};
};
fragment@1 {
target = <0xdeadbeef>;
__overlay__ {
dpi18_pins {
// brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13 0x14 0x15>;
brcm,pins = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xc 0xd 0xe 0xf 0x10 0x11 0x14 0x15 0x16 0x17 0x18 0x19>;
brcm,function = <0x6>;
brcm,pull = <0x0>;
phandle = <0x1>;
};
};
};
fragment@2 {
target-path = "/";
__overlay__ {
i2c_gpio: i2c@0 {
compatible = "i2c-gpio";
gpios = <&gpio 10 0 /* sda */
&gpio 11 0 /* scl */
>;
i2c-gpio,delay-us = <2>; /* ~100 kHz */
#address-cells = <1>;
#size-cells = <0>;
};
};
};
fragment@3 {
target = <&i2c_gpio>;
__overlay__ {
/* needed to avoid dtc warning */
#address-cells = <1>;
#size-cells = <0>;
ft6236: ft6236@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <&gpio>;
interrupts = <27 2>;
touchscreen-inverted-y;
touchscreen-size-x = <4800>;
touchscreen-size-y = <8000>;
touchscreen-refresh-rate = <0>;
};
};
};
fragment@4 {
target-path = "/";
__overlay__ {
rpi_backlight: rpi_backlight {
compatible = "gpio-backlight";
gpios = <&gpio 19 0>;
default-on;
};
};
};
__symbols__ {
dpi18_pins = "/fragment@1/__overlay__/dpi18_pins";
};
__local_fixups__ {
fragment@0 {
__overlay__ {
pinctrl-0 = <0x0>;
};
};
};
__fixups__ {
leds = "/fragment@0:target:0";
gpio = "/fragment@1:target:0";
};
__overrides__ {
rotate = <0>,"-5";
};
};
I have increased resolution for the touchscreen set here (4800x8000) you probably want to maybe set this to (480, 800) instead.
Cheers
Andy