Commit Graph

57 Commits

Author SHA1 Message Date
Denzeel Oliva
b46bbd2a47 board: Add support for r8s (Samsung Galaxy S20 FE)
Add basic support for Galaxy S20 FE, based on the Exynos 990.

Signed-off-by: Denzeel Oliva <wachiturroxd150@gmail.com>
[added a commit message]
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-12-01 22:16:01 +02:00
Ivaylo Ivanov
eba7aec49d drivers: samsung: Introduce exynos-speedy
Speedy is a serial communication bus that is typically used in
Exynos SoC devices for communicating with a PMIC. Implement
basic support for it, as well as add its first user - s2mps17 in
board-dreamlte.

Also, while at it, implement a simple readl function.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-28 15:09:59 +02:00
Ivaylo Ivanov
8b562d28fa board: Set CONFIG_RAMDISK_ENTRY for all exynos990 platforms
Needed for Linux to boot a ramdisk, works on all 990 platforms and
removes the need of configuring it manually.

Signed-off-by: Umer Uddin <umer.uddin@mentallysanemainliners.org>
2024-10-22 11:27:50 +03:00
Igor Belwon
2d34fc0f91 [FIX] board: samsung: Fix compile issues due to missing headers
The board files for all boards except for dreamlte and j4lte
are missing drivers/framework.h and lib/simplefb.h headers.
This causes build failures on all targets except for dreamlte
and j4lte.

This commit includes said headers.

Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-12 19:49:36 +03:00
Igor Belwon
7b84c6bff6 [FIX] configs: Fix c1s_defconfig permissions
This file used 0777 permissions. Change to 664 to conform with other configuration files.

Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-12 19:45:43 +03:00
Ivaylo Ivanov
9c60b66f71 AARCH64: Allow for embedding an initramfs
This actually breaks the armv7 port. It has to be revisited in the
future, since it not only is not compilable right now, but also
cannot boot linux properly. TODO

Also introduce a new C-based __memcpy_optimized that does not
cause an exception on some devices when copying the initramfs.
This issue has to be debugged further.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-12 19:43:05 +03:00
Ivaylo Ivanov
2de1d3c549 lib: video: Drop font.c temporarely
Since we're practically PIC, keep the massive array in the header.
Otherwise we exception.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-10 16:49:09 +03:00
Ivaylo Ivanov
a244bad67f lib: Completely drop neatlibc
It's of no use anymore, we have our own libc.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-10 16:38:42 +03:00
Ivaylo Ivanov
3b517ba95a lib: debug: Introduce loglevels + many minor changes
Implement 8 loglevels to use with printk:

While at it, separate the font in a new "video" directory, which
also makes space for a proper video probing implementation. Fill
in the font from 32 to 256. Scale the font to render twice as big.
Implement dynamic line length detection. Change a few things here
and there to follow the linux kernel code style. Add a nice logo.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-10 16:24:20 +03:00
Ivaylo Ivanov
be0ad76a97 lib: unic: Implement strcat
Also fix-up the strncpy func.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-10 16:21:48 +03:00
Ivaylo Ivanov
784bfd609a lib: unic: Optimize memcpy and memset for aarch64
Move onto using asmdefs macros in assembly files. Implement an
assembly-based memcpy for aarch64 and a C-optimized memset, while
also making place for replacing functions with more optimized ones
in the future.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-09 18:49:23 +03:00
Ivaylo Ivanov
81d26edaa3 uniLoader: Mass rework
arch: aarch64: Load addresses via page + offset
arch: aarch64: Align the TEXT region
drivers: Introduce an empty framework
board: Rework to be PIC

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-10-08 21:22:21 +03:00
Ivaylo Ivanov
b301e51432 board: Introduce board file configurations
This is meant to replace the current Kconfig / SoC / Board files
configuration, which is ugly and annoying to maintain. Begin
by creating the board files registration framework and
transitioning all exynos boards to it. This also opens room for
creating the drivers registration framework in the future.

All non-samsung boards will be no longer able to do their board
configuration until they're also transitioned.

Every new board must have the following structure:
struct board_data default_board = {
	.name = "DEFAULT",
	.init = NULL,
	.late_init = NULL,
	.driver_setup = NULL,
};

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-09-26 15:34:26 +03:00
Ivaylo Ivanov
69c7156eb3 lib: simplefb: simplify cleaning framebuffer
Pretty self-explanatory, it's faster as well.

Suggested-by: Umer Uddin <umer.uddin@mentallysanemainliners.org>
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-09-24 22:18:52 +03:00
Ivaylo Ivanov
3ab64bed39 lib: Introduce unic
unic is a small library of C functions that is currently written
in plain C. It's purpose isn't to be fast, but "universal" - as
in include as little architecture-specific code as possible.

The old neatlibc still resides, but isn't being built. There is
still more to do, including implementation of memory management,
so keep it there for now.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-09-23 20:17:44 +03:00
Ivaylo Ivanov
3fae0e9880
Merge pull request #18 from chmcax/gta4xl
Add support for gta4xl (Galaxy Tab S6 Lite)
2024-09-15 11:52:06 +03:00
chmcax
571fcac1f7 board: Add support for gta4xl (Samsung Galaxy Tab S6 Lite)
Signed-off-by: Alexandru Chimac	<alexchimac@protonmail.com>
2024-09-15 09:53:37 +03:00
chmcax
0d2f55d9f6 soc: Add basic support for Exynos9610
Signed-off-by: Alexandru Chimac <alexchimac@protonmail.com>
2024-09-15 09:53:36 +03:00
Ivaylo Ivanov
54d3d93a92 arch: aarch64: Set up Stack Pointer
Introduce stack and bss memory regions, rename Start.S to start.S
This commit should allow jumping out of assembly code for certain
SoCs that had issues with SP like MTK and QCOM.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-08-06 19:23:47 +03:00
Ivaylo Ivanov
4a0977b0f6 lib: Replace the broken newlib implementation with neatlibc
Make 2 different folders for armv7 and aarch64 assembly neatlibc
functions. Add the neatlibc submodule, make it work against the
Makefile system. Pray.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-08-06 13:25:07 +03:00
Ivaylo Ivanov
b37e225721 arch: arm: Implement TEXT_BASE instead of using a hardcoded address
This was an issue for other armv7 boards that have slightly different
addresses till now. This also allows to start working on relocation
in the near future for both armv7 and aarch64.

While we're at it, fix some mistakes here and there.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-08-06 11:12:31 +03:00
Ivaylo Ivanov
1b6ce821f7 README: Rework it according to the totally-recent build changes
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2024-08-06 10:33:38 +03:00
Ivaylo Ivanov
108caaa77f
Merge pull request #14 from predefine/master
j4lte: fix PAYLOAD_ENTRY
2024-03-12 23:10:09 +02:00
predefine
e3ecb8206c j4lte: fix PAYLOAD_ENTRY
0x40008000 is used by kernel, and can be rewrited by new payload
2024-03-13 04:02:43 +07:00
Ivaylo Ivanov
0147763114
Merge pull request #9 from predefine/fix-bgra
add BGRA support
2024-03-12 22:57:03 +02:00
predefine
61bb21275c add BGRA support 2023-11-10 23:06:34 +07:00
Ivaylo Ivanov
7ed7b2b902 soc: apple: Add basic support for Apple T8010 (aka A10)
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2023-08-15 14:15:02 +03:00
Ivaylo Ivanov
f7906fff57
Merge pull request #8 from predefine/master
add Samsung Galaxy J4lte & Exynos 7570 support
2023-08-15 14:02:31 +03:00
Ivaylo Ivanov
c93df2826e
Merge branch 'master' into master 2023-08-15 14:01:46 +03:00
Ivaylo Ivanov
db0f9e4bfd
Merge pull request #7 from BotchedRPR/master
Add support for c1s (Samsung Galaxy Note20)
2023-08-15 14:01:00 +03:00
predefine
9d2a29835c add Samsung Galaxy J4lte & Exynos 7570 support 2023-08-12 01:35:57 +07:00
BotchedRPR
6f83a56d5e
Add support for c1s (Samsung Galaxy Note20) 2023-08-09 13:56:10 +02:00
Ivaylo Ivanov
ed246836e9 lib: simplefb: Add support for RGB888 24bpp (dependant on the stride)
Also comes with small changes here and there.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2023-07-24 09:54:16 +03:00
Ivaylo Ivanov
a1be36ae02 EXPERIMENTAL: Partially implement NewLib
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2023-07-19 19:37:17 +03:00
Ivaylo Ivanov
d85632eb76
Merge pull request #6 from halal-beef/master
Support for the exynos990 and the Samsung S20
2023-07-18 15:01:20 +03:00
Ivaylo Ivanov
05a43c1d73
Merge branch 'master' into master 2023-07-18 14:59:15 +03:00
Ivaylo Ivanov
ed98b5d900 .: Multiple changes
arch: Implement ARM32 support
soc: Implement ARM32 support for MSM8916
board: Implement ARM32 support for Samsung Galaxy J5 2015
include: main: Revert built-in memcpy, rearrange and add support for writel
lib: simplefb: Make the clear screen function usable

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Cc: Efim Girjeu <efimgirjeu@gmail.com>
2023-07-18 14:41:37 +03:00
halal-beef
5901622aaa Support for the exynos990 and the Samsung S20 2023-07-16 10:20:06 +01:00
Ivaylo Ivanov
c4044f40fa
Merge pull request #4 from ungeskriptet/exynos7420
Add support for Samsung Galaxy S6
2023-07-15 15:25:48 +03:00
David Wronek
2daacf4645
board: zeroflte: Add support for Samsung Galaxy S6
Signed-off-by: David Wronek <w.david0@protonmail.com>
2022-07-09 09:44:58 +02:00
Faiz Faadhillah
e55d091dcc board: noblelte: Add support for Samsung Galaxy Note5
Signed-off-by: Faiz Faadhillah <faiz.faadhillah@gmail.com>
2022-06-29 13:02:28 +07:00
Faiz Faadhillah
1f62b4e5ac soc: exynos: Add basic support for Exynos 7420
Signed-off-by: Faiz Faadhillah <faiz.faadhillah@gmail.com>
2022-06-29 12:59:54 +07:00
Markuss Broks
3643d6a0c8 main: Use built-in memcpy
Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
2022-06-16 18:18:20 +03:00
ivoszbg
7ce00a6ed2 main: Move assembly code into an individual arch-specific folder
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-16 14:40:28 +03:00
David Wronek
79c5d972e1 board: jackpotlte: Add support for Samsung Galaxy A8 (2018)
Signed-off-by: David Wronek <w.david0@protonmail.com>
2022-06-15 17:49:48 +03:00
David Wronek
cc694062ec soc: exynos: Add basic support for Exynos 7885
Signed-off-by: David Wronek <w.david0@protonmail.com>
2022-06-15 17:45:19 +03:00
ivoszbg
e246a8d60a Makefile: Move Linux kernel and Device Tree paths to Kconfig
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-14 21:50:15 +03:00
ivoszbg
c038c7839c lib: Move debug print function into a separate file
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-14 19:51:51 +03:00
Markuss Broks
0ac15a9da6 main: Drop PAYLOAD_SIZE, use compile time kernel size
Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
2022-06-14 19:06:38 +03:00
ivoszbg
4d1a5f84bc board: Drop Board specific headers
It isn't required anymore, as we've moved on to Kconfig.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
2022-06-14 18:51:04 +03:00