board: Add support for r8s (Samsung Galaxy S20 FE)

Signed-off-by: Sota4Ever <wachiturroxd150@gmail.com>
This commit is contained in:
Sota4Ever 2024-11-05 07:14:02 -05:00
parent eba7aec49d
commit e022fc14b5
4 changed files with 74 additions and 0 deletions

View File

@ -6,6 +6,13 @@ menu "Device Support"
help help
Say Y if you want to include support for iPhone 6 Say Y if you want to include support for iPhone 6
config SAMSUNG_R8S
bool "Support for Samsung Galaxy S20 FE"
default n
depends on EXYNOS_990
help
Say Y if you want to include support for Samsung Galaxy S20 FE
config SAMSUNG_C1S config SAMSUNG_C1S
bool "Support for Samsung Galaxy Note20" bool "Support for Samsung Galaxy Note20"
default n default n
@ -86,6 +93,7 @@ menu "Device Specific Addresses"
config PAYLOAD_ENTRY config PAYLOAD_ENTRY
hex "Payload Entry Address" hex "Payload Entry Address"
default 0x830000000 if APPLE_N61AP default 0x830000000 if APPLE_N61AP
default 0x090000000 if SAMSUNG_R8S
default 0x090000000 if SAMSUNG_C1S default 0x090000000 if SAMSUNG_C1S
default 0x050000000 if SAMSUNG_NOBLELTE default 0x050000000 if SAMSUNG_NOBLELTE
default 0x090000000 if SAMSUNG_JACKPOTLTE default 0x090000000 if SAMSUNG_JACKPOTLTE
@ -100,6 +108,7 @@ menu "Device Specific Addresses"
config RAMDISK_ENTRY config RAMDISK_ENTRY
hex "Ramdisk Entry Address" hex "Ramdisk Entry Address"
default 0x082000000 if SAMSUNG_DREAMLTE default 0x082000000 if SAMSUNG_DREAMLTE
default 0x084000000 if SAMSUNG_R8S
default 0x084000000 if SAMSUNG_C1S default 0x084000000 if SAMSUNG_C1S
default 0x084000000 if SAMSUNG_X1S default 0x084000000 if SAMSUNG_X1S
@ -107,6 +116,7 @@ menu "Device Specific Addresses"
hex "Framebuffer Base Address (for SimpleFB)" hex "Framebuffer Base Address (for SimpleFB)"
depends on SIMPLE_FB depends on SIMPLE_FB
default 0x83e900000 if APPLE_N61AP default 0x83e900000 if APPLE_N61AP
default 0x0f1000000 if SAMSUNG_R8S
default 0x0f1000000 if SAMSUNG_C1S default 0x0f1000000 if SAMSUNG_C1S
default 0x0e2a00000 if SAMSUNG_NOBLELTE default 0x0e2a00000 if SAMSUNG_NOBLELTE
default 0x0ec000000 if SAMSUNG_JACKPOTLTE default 0x0ec000000 if SAMSUNG_JACKPOTLTE
@ -122,6 +132,7 @@ menu "Device Specific Addresses"
int "Framebuffer Width (for SimpleFB)" int "Framebuffer Width (for SimpleFB)"
depends on SIMPLE_FB depends on SIMPLE_FB
default 752 if APPLE_N61AP default 752 if APPLE_N61AP
default 1080 if SAMSUNG_R8S
default 1080 if SAMSUNG_C1S default 1080 if SAMSUNG_C1S
default 1440 if SAMSUNG_NOBLELTE default 1440 if SAMSUNG_NOBLELTE
default 1080 if SAMSUNG_JACKPOTLTE default 1080 if SAMSUNG_JACKPOTLTE
@ -137,6 +148,7 @@ menu "Device Specific Addresses"
int "Framebuffer Height (for SimpleFB)" int "Framebuffer Height (for SimpleFB)"
depends on SIMPLE_FB depends on SIMPLE_FB
default 1334 if APPLE_N61AP default 1334 if APPLE_N61AP
default 2400 if SAMSUNG_R8S
default 2400 if SAMSUNG_C1S default 2400 if SAMSUNG_C1S
default 2560 if SAMSUNG_NOBLELTE default 2560 if SAMSUNG_NOBLELTE
default 2220 if SAMSUNG_JACKPOTLTE default 2220 if SAMSUNG_JACKPOTLTE
@ -152,6 +164,7 @@ menu "Device Specific Addresses"
int "Framebuffer Stride (for SimpleFB)" int "Framebuffer Stride (for SimpleFB)"
depends on SIMPLE_FB depends on SIMPLE_FB
default 4 if APPLE_N61AP default 4 if APPLE_N61AP
default 4 if SAMSUNG_R8S
default 4 if SAMSUNG_C1S default 4 if SAMSUNG_C1S
default 4 if SAMSUNG_NOBLELTE default 4 if SAMSUNG_NOBLELTE
default 4 if SAMSUNG_JACKPOTLTE default 4 if SAMSUNG_JACKPOTLTE

View File

@ -1,4 +1,5 @@
lib-$(CONFIG_APPLE_N61AP) += apple/board-n61ap.o lib-$(CONFIG_APPLE_N61AP) += apple/board-n61ap.o
lib-$(CONFIG_SAMSUNG_R8S) += samsung/board-r8s.o
lib-$(CONFIG_SAMSUNG_C1S) += samsung/board-c1s.o lib-$(CONFIG_SAMSUNG_C1S) += samsung/board-c1s.o
lib-$(CONFIG_SAMSUNG_NOBLELTE) += samsung/board-noblelte.o lib-$(CONFIG_SAMSUNG_NOBLELTE) += samsung/board-noblelte.o
lib-$(CONFIG_SAMSUNG_JACKPOTLTE) += samsung/board-jackpotlte.o lib-$(CONFIG_SAMSUNG_JACKPOTLTE) += samsung/board-jackpotlte.o

57
board/samsung/board-r8s.c Normal file
View File

@ -0,0 +1,57 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) BotchedRPR <thenxguy0@gmail.com>
* Copyright (c) 2024, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
*/
#include <board.h>
#include <drivers/framework.h>
#include <lib/simplefb.h>
#define DECON_F_BASE 0x19050000
#define HW_SW_TRIG_CONTROL 0x70
void init_board_funcs(void *board)
{
/*
* Parsing the struct directly without restructing is
* broken as of Sep 29 2024
*/
struct {
const char *name;
int ops[BOARD_OP_EXIT];
} *board_restruct = board;
board_restruct->name = "R8S";
}
// Early initialization
int board_init(void)
{
/* Allow framebuffer to be written to */
*(int*) (DECON_F_BASE + HW_SW_TRIG_CONTROL) = 0x1281;
return 0;
}
// Late initialization
int board_late_init(void)
{
return 0;
}
int board_driver_setup(void)
{
struct {
int width;
int height;
int stride;
void *address;
} simplefb_data = {
.width = 1080,
.height = 2400,
.stride = 4,
.address = (void *)0xf1000000
};
REGISTER_DRIVER("simplefb", simplefb_probe, &simplefb_data);
return 0;
}

3
configs/r8s_defconfig Normal file
View File

@ -0,0 +1,3 @@
CONFIG_CROSS_COMPILE="aarch64-linux-gnu-"
CONFIG_EXYNOS_990=y
CONFIG_SAMSUNG_R8S=y