{"body":"diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c\nindex 302c42ba77e4..0f040087c8c8 100644\n--- a/drivers/tty/serial/samsung_tty.c\n+++ b/drivers/tty/serial/samsung_tty.c\n@@ -2950,9 +2950,22 @@ static int __init s3c2410_early_console_setup(struct earlycon_device *device,\n \n OF_EARLYCON_DECLARE(s3c2410, \"samsung,s3c2410-uart\",\n \t\t\ts3c2410_early_console_setup);\n-/* Apple SoCs are close enough to s3c2410 for earlycon */\n+\n+/* Apple SoCs need special page table attributes */\n+static int __init apple_s5l_early_console_setup(struct earlycon_device *device,\n+\t\t\t\t\t      const char *opt)\n+{\n+\tdevice->port.private_data = &s3c2410_early_console_data;\n+#ifdef CONFIG_ARM64\n+\t/* override the existing fixmap entry as nGnRnE */\n+\t__set_fixmap(FIX_EARLYCON_MEM_BASE, device->mapbase,\n+\t\t     __pgprot(PROT_DEVICE_nGnRnE));\n+#endif\n+\treturn samsung_early_console_setup(device, opt);\n+}\n+\n OF_EARLYCON_DECLARE(s5l, \"apple,s5l-uart\",\n-\t\t\ts3c2410_early_console_setup);\n+\t\t\tapple_s5l_early_console_setup);\n \n /* S3C2412, S3C2440, S3C64xx */\n static struct samsung_early_console_data s3c2440_early_console_data = {","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/m5QuJgkG","modified":1613053903,"id":"m5QuJgkG","size":1129,"lines":29,"own_paste":false,"theme":"","date":1613053903}