With clocks semi-stable, the next wall was the GPIO controller.
The Exynos 3830 uses a pinctrl driver similar to the exynos5420 but with fewer banks. However, the interrupt controller is broken. The EINT (External Interrupt) handling on this chip is notoriously glitchy.
If you enable an interrupt on GPA2, it sometimes fires on GPA0. This is bad for buttons or touchscreens.
The fix: I had to disable the "wakeup" interrupt mask until after suspend-resume is fully initialized. In the vendor kernel, they added a 5ms delay in the interrupt handler (a dirty hack). I opted to rewrite the eint_gpio_irq map to use a linear mapping instead of the hierarchical one used by newer Exynos chips.
Result? Buttons work. The touchpad on the test device (a Galaxy Tab 3 Lite) now responds. exynos 3830 driver work
Define compatible string in DTS:
compatible = "samsung,exynos3830";
reg = <0x12340000 0x1000>;
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cmu CLK_3830_PERI>;
The Exynos 3830 is not a hero chip. It is a workhorse. The driver work currently underway is a testament to the principle that good hardware should not become e-waste just because the vendor stopped providing Android updates.
By fixing the clocks, stabilizing the USB PHY, and silencing the memory controller errors, the open-source community is slowly turning the Exynos 3830 from a proprietary brick into a standard Linux platform.
Call to action: If you own a device with this chip, consider setting up a serial UART connection. The developers need testers to confirm if the new clk-exynos3830 driver finally stops the random reboots on suspend. With clocks semi-stable, the next wall was the
The silicon is five years old, but thanks to this driver work, its life is just beginning.
This feature tracks the architecture, implementation, and integration of necessary device drivers for the Samsung Exynos 3830 System on Chip (SoC). This includes the initial board bring-up sequence, power management, clock control, and peripheral bus initialization required to boot the kernel and support hardware functionality.
The most intense driver development is around the GPU. The Exynos 3830 utilizes an ARM Mali GPU. Driver work is currently focused on:
Before diving into the drivers, it’s important to place the silicon. The Exynos 3830 (often grouped with the Exynos 7904/7885 family in codebase lineages) targets the mid-range and budget tablet market. The Exynos 3830 is not a hero chip
Architecturally, it features:
While not a flagship killer, the 3830 powers devices like the Samsung Galaxy Tab A (2018, 10.5") and several European LTE tablets. Its longevity depends entirely on how well the kernel drivers support its power management, display controllers, and I/O.
The first task was writing the clk-exynos3830.c driver. This is always tedious. You sit with a datasheet (if you have it) or a hexdump of the vendor kernel (if you don't).
The 3830 has:
The Breakthrough: I realized the 3830 uses a multiplexer shift that isn't documented in the generic Samsung code. The mux_sel registers are offset by 0x20 compared to the Exynos 5250. Once I patched that, the serial console stayed alive.