From a1383655cfaa71609d6236ae0fcf3b6047462b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sat, 29 Feb 2020 09:25:20 +0100 Subject: bcm27xx: add linux 5.4 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tested on bcm2710 (Raspberry Pi 3B). Signed-off-by: Álvaro Fernández Rojas --- ...052-firmware-bcm2835-Support-ARCH_BCM270x.patch | 83 ++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch (limited to 'target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch') diff --git a/target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch b/target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch new file mode 100644 index 0000000000..a561e589db --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch @@ -0,0 +1,83 @@ +From 3e01b7e87a6164aaf4e89eacb4f4462a6c19a1fb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Fri, 26 Jun 2015 14:25:01 +0200 +Subject: [PATCH] firmware: bcm2835: Support ARCH_BCM270x +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Support booting without Device Tree. +Turn on USB power. +Load driver early because of lacking support for deferred probing +in many drivers. + +Signed-off-by: Noralf Trønnes + +firmware: bcm2835: Don't turn on USB power + +The raspberrypi-power driver is now used to turn on USB power. + +This partly reverts commit: +firmware: bcm2835: Support ARCH_BCM270x + +Signed-off-by: Noralf Trønnes +--- + drivers/firmware/raspberrypi.c | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +--- a/drivers/firmware/raspberrypi.c ++++ b/drivers/firmware/raspberrypi.c +@@ -29,6 +29,8 @@ struct rpi_firmware { + u32 enabled; + }; + ++static struct platform_device *g_pdev; ++ + static DEFINE_MUTEX(transaction_lock); + + static void response_callback(struct mbox_client *cl, void *msg) +@@ -238,6 +240,7 @@ static int rpi_firmware_probe(struct pla + init_completion(&fw->c); + + platform_set_drvdata(pdev, fw); ++ g_pdev = pdev; + + rpi_firmware_print_firmware_revision(fw); + rpi_register_hwmon_driver(dev, fw); +@@ -265,6 +268,7 @@ static int rpi_firmware_remove(struct pl + platform_device_unregister(rpi_clk); + rpi_clk = NULL; + mbox_free_channel(fw->chan); ++ g_pdev = NULL; + + return 0; + } +@@ -277,7 +281,7 @@ static int rpi_firmware_remove(struct pl + */ + struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) + { +- struct platform_device *pdev = of_find_device_by_node(firmware_node); ++ struct platform_device *pdev = g_pdev; + + if (!pdev) + return NULL; +@@ -301,7 +305,18 @@ static struct platform_driver rpi_firmwa + .shutdown = rpi_firmware_shutdown, + .remove = rpi_firmware_remove, + }; +-module_platform_driver(rpi_firmware_driver); ++ ++static int __init rpi_firmware_init(void) ++{ ++ return platform_driver_register(&rpi_firmware_driver); ++} ++subsys_initcall(rpi_firmware_init); ++ ++static void __init rpi_firmware_exit(void) ++{ ++ platform_driver_unregister(&rpi_firmware_driver); ++} ++module_exit(rpi_firmware_exit); + + MODULE_AUTHOR("Eric Anholt "); + MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -- cgit v1.2.3