RGB30 work. Wifi and input drivers

This commit is contained in:
brooksytech 2024-03-24 11:35:49 +00:00
parent c90267390c
commit ce9defa9ad
No known key found for this signature in database
8 changed files with 2051 additions and 50 deletions

View file

@ -49,13 +49,6 @@
CLEAN_NETWORK="RTL8821CS-firmware"
CLEAN_EMU_32BIT="lib32 box86 pcsx_rearmed-lr arm"
# Make sure we clean a minimal number of packages for devices with
# a BSP kernel and a rotated display when using DEVICE_ROOT.
if [ -n "${DEVICE_ROOT}" ]
then
CLEAN_DEVICE_ROOT="busybox systemd initramfs linux u-boot libmali_rk3588 SDL2 SDL2-rotated retroarch mupen64plus-sa-input-sdl flycast-sa duckstation-sa drastic-sa fileman oga_controls portmaster glew-cmake"
fi
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
# Space separated list is supported,

View file

@ -1,29 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert)
PKG_NAME="libgo2"
PKG_VERSION="bc992566bb86f2fe0c8d981d4db46e2e2beb5b0e"
PKG_SHA256="89ad1cf229d581fa8e4498f4f4c526215176e79885e935bd7dc48c5872655f92"
PKG_ARCH="arm aarch64"
PKG_LICENSE="LGPL"
PKG_DEPENDS_TARGET="toolchain libevdev librga openal-soft"
PKG_SITE="https://github.com/OtherCrashOverride/libgo2"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
PKG_LONGDESC="Support library for the ODROID-GO Advance "
PKG_TOOLCHAIN="make"
PKG_PATCH_DIRS+="${DEVICE}"
PKG_MAKE_OPTS_TARGET=" config=release ARCH= INCLUDES=-I${SYSROOT_PREFIX}/usr/include/libdrm -I${SYSROOT_PREFIX}/usr/include "
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib
cp libgo2.so ${INSTALL}/usr/lib
mkdir -p ${SYSROOT_PREFIX}/usr/include/go2
cp src/*.h ${SYSROOT_PREFIX}/usr/include/go2
mkdir -p ${SYSROOT_PREFIX}/usr/lib
cp libgo2.so ${SYSROOT_PREFIX}/usr/lib
}

View file

@ -1,12 +0,0 @@
diff -rupN libgo2.orig/src/input.c libgo2/src/input.c
--- libgo2.orig/src/input.c 2024-02-04 10:10:05.940094235 +0000
+++ libgo2/src/input.c 2024-02-04 10:10:41.394393160 +0000
@@ -33,7 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fi
#include <stdbool.h>
#include <pthread.h>
-#include <libevdev-1.0/libevdev/libevdev.h>
+#include <libevdev/libevdev.h>
#include <linux/limits.h>

View file

@ -6,4 +6,5 @@ cat <<EOF >/storage/.config/profile.d/001-device_config
DEVICE_FAKE_JACKSENSE="false"
DEVICE_POWER_LED="false"
DEVICE_BRIGHTNESS="128"
DEVICE_BATTERY_LED_STATUS="true"
EOF

View file

@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="emulationstation"
PKG_VERSION="86666dc57d4fb25debd90d7830c6f1e75b0cc002"
PKG_VERSION="0feded0e3275440b3c2eaddfd778c2cca515be83"
PKG_GIT_CLONE_BRANCH="main"
PKG_REV="1"
PKG_ARCH="any"

View file

@ -1453,7 +1453,7 @@ CONFIG_BT_HCIUART_ATH3K=y
# CONFIG_BT_HCIUART_3WIRE is not set
# CONFIG_BT_HCIUART_INTEL is not set
# CONFIG_BT_HCIUART_BCM is not set
# CONFIG_BT_HCIUART_RTL is not set
CONFIG_BT_HCIUART_RTL=y
# CONFIG_BT_HCIUART_QCA is not set
# CONFIG_BT_HCIUART_AG6XX is not set
# CONFIG_BT_HCIUART_MRVL is not set
@ -2762,6 +2762,7 @@ CONFIG_ISDN_CAPI=y
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
# CONFIG_INPUT_SPARSEKMAP is not set
CONFIG_INPUT_MATRIXKMAP=y
CONFIG_INPUT_VIVALDIFMAP=y
@ -2824,6 +2825,7 @@ CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
CONFIG_JOYSTICK_ADC=y
CONFIG_JOYSTICK_SINGLEADCJOY=y
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,343 @@
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi linux/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi 2024-03-24 02:53:55.608797070 +0000
+++ linux/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi 2024-03-24 03:26:25.643228166 +0000
@@ -16,61 +16,6 @@
mmc3 = &sdmmc2;
};
- adc-joystick {
- compatible = "adc-joystick";
- io-channels = <&adc_mux 0>,
- <&adc_mux 1>,
- <&adc_mux 2>,
- <&adc_mux 3>;
- pinctrl-0 = <&joy_mux_en>;
- pinctrl-names = "default";
- poll-interval = <60>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- axis@0 {
- reg = <0>;
- abs-flat = <32>;
- abs-fuzz = <32>;
- abs-range = <1023 15>;
- linux,code = <ABS_X>;
- };
-
- axis@1 {
- reg = <1>;
- abs-flat = <32>;
- abs-fuzz = <32>;
- abs-range = <15 1023>;
- linux,code = <ABS_RX>;
- };
-
- axis@2 {
- reg = <2>;
- abs-flat = <32>;
- abs-fuzz = <32>;
- abs-range = <15 1023>;
- linux,code = <ABS_Y>;
- };
-
- axis@3 {
- reg = <3>;
- abs-flat = <32>;
- abs-fuzz = <32>;
- abs-range = <1023 15>;
- linux,code = <ABS_RY>;
- };
- };
-
- adc_mux: adc-mux {
- compatible = "io-channel-mux";
- channels = "left_x", "right_x", "left_y", "right_y";
- #io-channel-cells = <1>;
- io-channels = <&saradc 3>;
- io-channel-names = "parent";
- mux-controls = <&gpio_mux>;
- settle-time-us = <100>;
- };
-
backlight: backlight {
compatible = "pwm-backlight";
power-supply = <&vcc_sys>;
@@ -96,108 +41,159 @@
<3400000 0>;
};
- gpio_keys_control: gpio-keys-control {
- compatible = "gpio-keys";
- pinctrl-0 = <&btn_pins_ctrl>;
- pinctrl-names = "default";
+ joypad: singleadc-joypad {
+ compatible = "singleadc-joypad";
+ hw_info = <0x01>;
- button-a {
- gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>;
- label = "EAST";
- linux,code = <BTN_EAST>;
- };
+ joypad-name = "retrogame_joypad";
+ joypad-product = <0x1101>;
+ joypad-revision = <0x0100>;
- button-b {
- gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>;
- label = "SOUTH";
- linux,code = <BTN_SOUTH>;
- };
-
- button-down {
- gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
- label = "DPAD-DOWN";
- linux,code = <BTN_DPAD_DOWN>;
- };
+ status = "okay";
- button-l1 {
- gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
- label = "TL";
- linux,code = <BTN_TL>;
- };
-
- button-l2 {
- gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
- label = "TL2";
- linux,code = <BTN_TL2>;
- };
-
- button-left {
- gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>;
- label = "DPAD-LEFT";
- linux,code = <BTN_DPAD_LEFT>;
- };
-
- button-r1 {
- gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
- label = "TR";
- linux,code = <BTN_TR>;
- };
-
- button-r2 {
- gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
- label = "TR2";
- linux,code = <BTN_TR2>;
- };
-
- button-right {
- gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
- label = "DPAD-RIGHT";
- linux,code = <BTN_DPAD_RIGHT>;
- };
-
- button-select {
- gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>;
- label = "SELECT";
- linux,code = <BTN_SELECT>;
- };
-
- button-start {
- gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
- label = "START";
- linux,code = <BTN_START>;
- };
-
- button-thumbl {
- gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
- label = "THUMBL";
- linux,code = <BTN_THUMBL>;
- };
-
- button-thumbr {
- gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
- label = "THUMBR";
- linux,code = <BTN_THUMBR>;
- };
-
- button-up {
- gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
- label = "DPAD-UP";
- linux,code = <BTN_DPAD_UP>;
- };
+ /* gpio pincontrol setup */
+ pinctrl-names = "default";
+ pinctrl-0 = <&btn_pins_ctrl>;
- button-x {
- gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
- label = "NORTH";
- linux,code = <BTN_NORTH>;
- };
+ /* Analog mux define */
+ io-channel-names = "amux_adc";
+ io-channels = <&saradc 3>;
- button-y {
- gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
- label = "WEST";
- linux,code = <BTN_WEST>;
+ /* adc mux channel count */
+ amux-count = <4>;
+ /* adc mux select(a,b) gpio */
+ amux-a-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>;
+ amux-b-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
+ /* adc mux enable gpio */
+ amux-en-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>;
+
+ /* adc calculate scale */
+ button-adc-scale = <2>;
+
+
+ /* adc deadzone range */
+ button-adc-deadzone = <64>;
+
+ /*
+ specifies fuzz value that is used to filter noise from
+ the event stream.
+ */
+ button-adc-fuzz = <32>;
+ button-adc-flat = <32>;
+
+ /*
+ Analog Stick data tuning value(precent)
+ p = positive direction, n = negative direction
+ report value = (real_adc_data * tuning_value) / 100
+ */
+ abs_x-p-tuning = <245>;
+ abs_x-n-tuning = <245>;
+
+ abs_y-p-tuning = <245>;
+ abs_y-n-tuning = <245>;
+
+ abs_rx-p-tuning = <245>;
+ abs_rx-n-tuning = <245>;
+
+ abs_ry-p-tuning = <245>;
+ abs_ry-n-tuning = <245>;
+
+ /* poll device interval (ms), adc read interval */
+ poll-interval = <10>;
+
+ /* gpio button auto repeat set value : default disable */
+ /*
+ autorepeat;
+ */
+ sw1 {
+ gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
+ label = "GPIO DPAD-UP";
+ linux,code = <BTN_DPAD_UP>;
+ };
+ sw2 {
+ gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
+ label = "GPIO DPAD-DOWN";
+ linux,code = <BTN_DPAD_DOWN>;
+ };
+ sw3 {
+ gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>;
+ label = "GPIO DPAD-LEFT";
+ linux,code = <BTN_DPAD_LEFT>;
+ };
+ sw4 {
+ gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
+ label = "GPIO DPAD-RIGHT";
+ linux,code = <BTN_DPAD_RIGHT>;
+ };
+ sw5 {
+ gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>;
+ label = "GPIO KEY BTN-A";
+ linux,code = <BTN_SOUTH>;
+ };
+ sw6 {
+ gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN-B";
+ linux,code = <BTN_EAST>;
+ };
+ sw7 {
+ gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN-X";
+ linux,code = <BTN_NORTH>;
+ };
+ sw8 {
+ gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN-Y";
+ linux,code = <BTN_WEST>;
+ };
+ sw9 {
+ gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_SELECT";
+ linux,code = <BTN_SELECT>;
+ };
+ sw10 {
+ gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_START";
+ linux,code = <BTN_START>;
+ };
+ sw11 {
+ gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_F";
+ linux,code = <BTN_MODE>;
+ };
+ sw12 {
+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_TL";
+ linux,code = <BTN_TL>;
+ };
+ sw13 {
+ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_TR";
+ linux,code = <BTN_TR>;
+ };
+ sw14 {
+ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_TL2";
+ linux,code = <BTN_TL2>;
+ };
+ sw15 {
+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_TR2";
+ linux,code = <BTN_TR2>;
+ };
+ sw16 {
+ gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_THUMBL";
+ linux,code = <BTN_THUMBL>;
+ };
+ sw17 {
+ gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
+ label = "GPIO BTN_THUMBR";
+ linux,code = <BTN_THUMBR>;
};
+
};
+
gpio_keys_vol: gpio-keys-vol {
compatible = "gpio-keys";
autorepeat;
@@ -217,13 +213,6 @@
};
};
- gpio_mux: mux-controller {
- compatible = "gpio-mux";
- mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>,
- <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
- #mux-control-cells = <0>;
- };
-
hdmi-con {
compatible = "hdmi-connector";
ddc-i2c-bus = <&i2c5>;
@@ -790,6 +779,9 @@
pinctrl-names = "default";
vmmc-supply = <&vcc_wifi>;
vqmmc-supply = <&vcca1v8_pmu>;
+ no-mmc;
+ no-sd;
+ sd-uhs-sdr50;
status = "okay";
};