diff --git a/arch/arm/core/aarch64/reset.S b/arch/arm/core/aarch64/reset.S
index e0be50aa505bf3eb11ee06b4cedafadfd2995375..87d7c4548cbd0de132e8e838f9144ff663feffee 100644
--- a/arch/arm/core/aarch64/reset.S
+++ b/arch/arm/core/aarch64/reset.S
@@ -184,16 +184,6 @@ References:
 
     bl	z_arm64_prep_c
 
-    .globl raspi3_put32
-raspi3_put32:
-	str w1,[x0]
-	ret
-
-    .globl raspi3_get32
-raspi3_get32:
-	ldr w0,[x0]
-	ret
-
     .globl raspi3_delay
 raspi3_delay:
 	subs x0, x0, #1
diff --git a/drivers/serial/uart_raspi3_mini.c b/drivers/serial/uart_raspi3_mini.c
index 8307c6d8294853b13d3dd954ded2b9d1c3122121..344a90acef146594624795880cfdf4921f45c1a5 100644
--- a/drivers/serial/uart_raspi3_mini.c
+++ b/drivers/serial/uart_raspi3_mini.c
@@ -9,7 +9,7 @@
 
 extern void raspi3_delay(unsigned long);
 extern void raspi3_put32(unsigned long, unsigned int);
-extern unsigned int raspi3_get32(unsigned long);
+extern unsigned int sys_read32(unsigned long);
 
 #define PBASE 0x3F000000
 
@@ -47,16 +47,16 @@ extern unsigned int raspi3_get32(unsigned long);
 static int uart_raspi3_mini_poll_in(const struct device *dev, unsigned char *c)
 {
 	while (1) {
-		if (!(raspi3_get32(UART_FR) & (1 << 4))) break;
+		if (!(sys_read32(UART_FR) & (1 << 4))) break;
 	}
-	*c = (raspi3_get32(UART_DR) & 0xFF);
+	*c = (sys_read32(UART_DR) & 0xFF);
 	return 0;
 }
 
 static void uart_raspi3_mini_poll_out(const struct device *dev, unsigned char c)
 {
 	while (1) {
-		if (!(raspi3_get32(UART_FR) & (1 << 5))) break;
+		if (!(sys_read32(UART_FR) & (1 << 5))) break;
 	}
 	raspi3_put32(UART_DR, c);
 }
@@ -67,7 +67,7 @@ static int uart_raspi3_mini_init(const struct device *dev)
 {
 	unsigned int selector;  // 32 bits
 
-	selector = raspi3_get32(GPFSEL1);
+	selector = sys_read32(GPFSEL1);
 	selector &= ~(7 << 12);
 	selector |= 4 << 12;
 	selector &= ~(7 << 15);
diff --git a/kernel/raspi3.c b/kernel/raspi3.c
index 76ba572e61a6d0e7683d7cd3f853ec6ebd5ef35f..63c93c7d8fe7ead4ee0def96fe6077bd0a3adde3 100644
--- a/kernel/raspi3.c
+++ b/kernel/raspi3.c
@@ -1,6 +1,5 @@
 extern void raspi3_delay(unsigned long);
 extern void raspi3_put32(unsigned long, unsigned int);
-extern unsigned int raspi3_get32(unsigned long);
 
 #define PBASE 0x3F000000
 
@@ -35,10 +34,14 @@ extern unsigned int raspi3_get32(unsigned long);
 #define CORE_FREQ 250
 #define BAUD_FREQ 115200
 
+void raspi3_put32(uintptr_t addr, uint32_t val) {
+	sys_write32(val, addr);
+}
+
 void miniuart_init(void) {
 	unsigned int selector;  // 32 bits
 
-	selector = raspi3_get32(GPFSEL1);
+	selector = sys_read32(GPFSEL1);
 	selector &= ~(7 << 12);
 	selector |= 4 << 12;
 	selector &= ~(7 << 15);
@@ -61,16 +64,16 @@ void miniuart_init(void) {
 
 void miniuart_send(char c) {
 	while (1) {
-		if (!(raspi3_get32(UART_FR) & (1 << 5))) break;
+		if (!(sys_read32(UART_FR) & (1 << 5))) break;
 	}
 	raspi3_put32(UART_DR, c);
 }
 
 char miniuart_recv(void) {
 	while (1) {
-		if (!(raspi3_get32(UART_FR) & (1 << 4))) break;
+		if (!(sys_read32(UART_FR) & (1 << 4))) break;
 	}
-	return (raspi3_get32(UART_DR) & 0xFF);
+	return (sys_read32(UART_DR) & 0xFF);
 }
 
 void miniuart_send_string(char *str) {