diff options
Diffstat (limited to 'bcm2837-bluetooth-support.patch')
-rw-r--r-- | bcm2837-bluetooth-support.patch | 606 |
1 files changed, 0 insertions, 606 deletions
diff --git a/bcm2837-bluetooth-support.patch b/bcm2837-bluetooth-support.patch index bdba4aa28..c272c1efe 100644 --- a/bcm2837-bluetooth-support.patch +++ b/bcm2837-bluetooth-support.patch @@ -1,597 +1,3 @@ -From 98dc77d57169f51d100f8b0cb3e4d1e0911ef7a4 Mon Sep 17 00:00:00 2001 -From: Loic Poulain <loic.poulain@gmail.com> -Date: Tue, 4 Jul 2017 12:57:56 +0200 -Subject: Bluetooth: hci_bcm: Make bcm_request_irq fail if no IRQ resource - -In case of no IRQ resource associated to the bcm_device, requesting -IRQ should return an error in order to not enable low power mgmt. - -Signed-off-by: Loic Poulain <loic.poulain@gmail.com> -Reported-by: Ian Molton <ian@mnementh.co.uk> -Signed-off-by: Marcel Holtmann <marcel@holtmann.org> ---- - drivers/bluetooth/hci_bcm.c | 30 ++++++++++++++++-------------- - 1 file changed, 16 insertions(+), 14 deletions(-) - -diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c -index 6a662d0..6b42372 100644 ---- a/drivers/bluetooth/hci_bcm.c -+++ b/drivers/bluetooth/hci_bcm.c -@@ -176,7 +176,7 @@ static irqreturn_t bcm_host_wake(int irq, void *data) - static int bcm_request_irq(struct bcm_data *bcm) - { - struct bcm_device *bdev = bcm->dev; -- int err = 0; -+ int err; - - /* If this is not a platform device, do not enable PM functionalities */ - mutex_lock(&bcm_device_lock); -@@ -185,21 +185,23 @@ static int bcm_request_irq(struct bcm_data *bcm) - goto unlock; - } - -- if (bdev->irq > 0) { -- err = devm_request_irq(&bdev->pdev->dev, bdev->irq, -- bcm_host_wake, IRQF_TRIGGER_RISING, -- "host_wake", bdev); -- if (err) -- goto unlock; -+ if (bdev->irq <= 0) { -+ err = -EOPNOTSUPP; -+ goto unlock; -+ } - -- device_init_wakeup(&bdev->pdev->dev, true); -+ err = devm_request_irq(&bdev->pdev->dev, bdev->irq, bcm_host_wake, -+ IRQF_TRIGGER_RISING, "host_wake", bdev); -+ if (err) -+ goto unlock; - -- pm_runtime_set_autosuspend_delay(&bdev->pdev->dev, -- BCM_AUTOSUSPEND_DELAY); -- pm_runtime_use_autosuspend(&bdev->pdev->dev); -- pm_runtime_set_active(&bdev->pdev->dev); -- pm_runtime_enable(&bdev->pdev->dev); -- } -+ device_init_wakeup(&bdev->pdev->dev, true); -+ -+ pm_runtime_set_autosuspend_delay(&bdev->pdev->dev, -+ BCM_AUTOSUSPEND_DELAY); -+ pm_runtime_use_autosuspend(&bdev->pdev->dev); -+ pm_runtime_set_active(&bdev->pdev->dev); -+ pm_runtime_enable(&bdev->pdev->dev); - - unlock: - mutex_unlock(&bcm_device_lock); --- -cgit v1.1 - -From 74183a1c50a3c61e62d2e585107ea3c0b942a3ff Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann <marcel@holtmann.org> -Date: Wed, 16 Aug 2017 09:53:30 +0200 -Subject: Bluetooth: hci_bcm: Use operation speed of 4Mbps only for ACPI - devices - -Not all Broadcom controller support the 4Mbps operational speed on UART -devices. This is because the UART clock setting changes might not be -supported. - - < HCI Command: Broadcom Write UART Clock Setting (0x3f|0x0045) plen 1 - 01 . - > HCI Event: Command Complete (0x0e) plen 4 - Broadcom Write UART Clock Setting (0x3f|0x0045) ncmd 1 - Status: Unknown HCI Command (0x01) - -To support any operational speed higher than 3Mbps, support for this -command is required. With that respect it is better to not enforce any -operational speed by default. Only when its support is known, then allow -for higher operational speed. - -This patch assigns the 4Mbps opertional speed only for devices -discovered through ACPI and leave all others at the default 115200. - -Signed-off-by: Marcel Holtmann <marcel@holtmann.org> -Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> ---- - drivers/bluetooth/hci_bcm.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c -index 6b42372..1eb286a 100644 ---- a/drivers/bluetooth/hci_bcm.c -+++ b/drivers/bluetooth/hci_bcm.c -@@ -59,6 +59,7 @@ struct bcm_device { - bool clk_enabled; - - u32 init_speed; -+ u32 oper_speed; - int irq; - u8 irq_polarity; - -@@ -303,6 +304,7 @@ static int bcm_open(struct hci_uart *hu) - if (hu->tty->dev->parent == dev->pdev->dev.parent) { - bcm->dev = dev; - hu->init_speed = dev->init_speed; -+ hu->oper_speed = dev->oper_speed; - #ifdef CONFIG_PM - dev->hu = hu; - #endif -@@ -699,8 +701,10 @@ static int bcm_resource(struct acpi_resource *ares, void *data) - - case ACPI_RESOURCE_TYPE_SERIAL_BUS: - sb = &ares->data.uart_serial_bus; -- if (sb->type == ACPI_RESOURCE_SERIAL_TYPE_UART) -+ if (sb->type == ACPI_RESOURCE_SERIAL_TYPE_UART) { - dev->init_speed = sb->default_baud_rate; -+ dev->oper_speed = 4000000; -+ } - break; - - default: -@@ -853,7 +857,6 @@ static const struct hci_uart_proto bcm_proto = { - .name = "Broadcom", - .manufacturer = 15, - .init_speed = 115200, -- .oper_speed = 4000000, - .open = bcm_open, - .close = bcm_close, - .flush = bcm_flush, --- -cgit v1.1 - -From 33cd149e767be9afbab9fcd3d5165a2de62313c8 Mon Sep 17 00:00:00 2001 -From: Loic Poulain <loic.poulain@gmail.com> -Date: Thu, 17 Aug 2017 19:59:51 +0200 -Subject: Bluetooth: hci_bcm: Add serdev support - -Add basic support for Broadcom serial slave devices. -Probe the serial device, retrieve its maximum speed and -register a new hci uart device. - -Tested/compatible with bcm43438 (RPi3). - -Signed-off-by: Loic Poulain <loic.poulain@gmail.com> -Signed-off-by: Marcel Holtmann <marcel@holtmann.org> ---- - drivers/bluetooth/Kconfig | 1 + - drivers/bluetooth/hci_bcm.c | 85 +++++++++++++++++++++++++++++++++++++++++++-- - 2 files changed, 84 insertions(+), 2 deletions(-) - -diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig -index 3a6ead6..fae5a74 100644 ---- a/drivers/bluetooth/Kconfig -+++ b/drivers/bluetooth/Kconfig -@@ -168,6 +168,7 @@ config BT_HCIUART_INTEL - config BT_HCIUART_BCM - bool "Broadcom protocol support" - depends on BT_HCIUART -+ depends on BT_HCIUART_SERDEV - select BT_HCIUART_H4 - select BT_BCM - help -diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c -index 1eb286a..34882f1 100644 ---- a/drivers/bluetooth/hci_bcm.c -+++ b/drivers/bluetooth/hci_bcm.c -@@ -27,6 +27,8 @@ - #include <linux/firmware.h> - #include <linux/module.h> - #include <linux/acpi.h> -+#include <linux/of.h> -+#include <linux/property.h> - #include <linux/platform_device.h> - #include <linux/clk.h> - #include <linux/gpio/consumer.h> -@@ -34,6 +36,7 @@ - #include <linux/interrupt.h> - #include <linux/dmi.h> - #include <linux/pm_runtime.h> -+#include <linux/serdev.h> - - #include <net/bluetooth/bluetooth.h> - #include <net/bluetooth/hci_core.h> -@@ -46,6 +49,7 @@ - - #define BCM_AUTOSUSPEND_DELAY 5000 /* default autosleep delay */ - -+/* platform device driver resources */ - struct bcm_device { - struct list_head list; - -@@ -69,6 +73,12 @@ struct bcm_device { - #endif - }; - -+/* serdev driver resources */ -+struct bcm_serdev { -+ struct hci_uart hu; -+}; -+ -+/* generic bcm uart resources */ - struct bcm_data { - struct sk_buff *rx_skb; - struct sk_buff_head txq; -@@ -80,6 +90,14 @@ struct bcm_data { - static DEFINE_MUTEX(bcm_device_lock); - static LIST_HEAD(bcm_device_list); - -+static inline void host_set_baudrate(struct hci_uart *hu, unsigned int speed) -+{ -+ if (hu->serdev) -+ serdev_device_set_baudrate(hu->serdev, speed); -+ else -+ hci_uart_set_baudrate(hu, speed); -+} -+ - static int bcm_set_baudrate(struct hci_uart *hu, unsigned int speed) - { - struct hci_dev *hdev = hu->hdev; -@@ -290,6 +308,14 @@ static int bcm_open(struct hci_uart *hu) - - hu->priv = bcm; - -+ /* If this is a serdev defined device, then only use -+ * serdev open primitive and skip the rest. -+ */ -+ if (hu->serdev) { -+ serdev_device_open(hu->serdev); -+ goto out; -+ } -+ - if (!hu->tty->dev) - goto out; - -@@ -325,6 +351,12 @@ static int bcm_close(struct hci_uart *hu) - - bt_dev_dbg(hu->hdev, "hu %p", hu); - -+ /* If this is a serdev defined device, only use serdev -+ * close primitive and then continue as usual. -+ */ -+ if (hu->serdev) -+ serdev_device_close(hu->serdev); -+ - /* Protect bcm->dev against removal of the device or driver */ - mutex_lock(&bcm_device_lock); - if (bcm_device_exists(bdev)) { -@@ -400,7 +432,7 @@ static int bcm_setup(struct hci_uart *hu) - speed = 0; - - if (speed) -- hci_uart_set_baudrate(hu, speed); -+ host_set_baudrate(hu, speed); - - /* Operational speed if any */ - if (hu->oper_speed) -@@ -413,7 +445,7 @@ static int bcm_setup(struct hci_uart *hu) - if (speed) { - err = bcm_set_baudrate(hu, speed); - if (!err) -- hci_uart_set_baudrate(hu, speed); -+ host_set_baudrate(hu, speed); - } - - finalize: -@@ -906,9 +938,57 @@ static struct platform_driver bcm_driver = { - }, - }; - -+static int bcm_serdev_probe(struct serdev_device *serdev) -+{ -+ struct bcm_serdev *bcmdev; -+ u32 speed; -+ int err; -+ -+ bcmdev = devm_kzalloc(&serdev->dev, sizeof(*bcmdev), GFP_KERNEL); -+ if (!bcmdev) -+ return -ENOMEM; -+ -+ bcmdev->hu.serdev = serdev; -+ serdev_device_set_drvdata(serdev, bcmdev); -+ -+ err = device_property_read_u32(&serdev->dev, "max-speed", &speed); -+ if (!err) -+ bcmdev->hu.oper_speed = speed; -+ -+ return hci_uart_register_device(&bcmdev->hu, &bcm_proto); -+} -+ -+static void bcm_serdev_remove(struct serdev_device *serdev) -+{ -+ struct bcm_serdev *bcmdev = serdev_device_get_drvdata(serdev); -+ -+ hci_uart_unregister_device(&bcmdev->hu); -+} -+ -+#ifdef CONFIG_OF -+static const struct of_device_id bcm_bluetooth_of_match[] = { -+ { .compatible = "brcm,bcm43438-bt" }, -+ { }, -+}; -+MODULE_DEVICE_TABLE(of, bcm_bluetooth_of_match); -+#endif -+ -+static struct serdev_device_driver bcm_serdev_driver = { -+ .probe = bcm_serdev_probe, -+ .remove = bcm_serdev_remove, -+ .driver = { -+ .name = "hci_uart_bcm", -+ .of_match_table = of_match_ptr(bcm_bluetooth_of_match), -+ }, -+}; -+ - int __init bcm_init(void) - { -+ /* For now, we need to keep both platform device -+ * driver (ACPI generated) and serdev driver (DT). -+ */ - platform_driver_register(&bcm_driver); -+ serdev_device_driver_register(&bcm_serdev_driver); - - return hci_uart_register_proto(&bcm_proto); - } -@@ -916,6 +996,7 @@ int __init bcm_init(void) - int __exit bcm_deinit(void) - { - platform_driver_unregister(&bcm_driver); -+ serdev_device_driver_unregister(&bcm_serdev_driver); - - return hci_uart_unregister_proto(&bcm_proto); - } --- -cgit v1.1 - -From 01d5e44ace8a20fc51e0d530f98acb3c365345a5 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann <marcel@holtmann.org> -Date: Thu, 17 Aug 2017 21:41:09 +0200 -Subject: Bluetooth: hci_bcm: Handle empty packet after firmware loading - -The Broadcom controller on the Raspberry Pi3 sends an empty packet with -packet type 0x00 after launching the firmware. This will cause logging -of errors. - - Bluetooth: hci0: Frame reassembly failed (-84) - -Since this seems to be an intented behaviour of the controller, handle -it gracefully by parsing that empty packet with packet type 0x00 and -then just simply report it as diagnostic packet. - -With that change no errors are logging and the packet itself is actually -recorded in the Bluetooth monitor traces. - - < HCI Command: Broadcom Launch RAM (0x3f|0x004e) plen 4 - Address: 0xffffffff - > HCI Event: Command Complete (0x0e) plen 4 - Broadcom Launch RAM (0x3f|0x004e) ncmd 1 - Status: Success (0x00) - = Vendor Diagnostic (len 0) - < HCI Command: Broadcom Update UART Baud Rate (0x3f|0x0018) plen 6 - 00 00 00 10 0e 00 ...... - > HCI Event: Command Complete (0x0e) plen 4 - Broadcom Update UART Baud Rate (0x3f|0x0018) ncmd 1 - Status: Success (0x00) - < HCI Command: Reset (0x03|0x0003) plen 0 - > HCI Event: Command Complete (0x0e) plen 4 - Reset (0x03|0x0003) ncmd 1 - Status: Success (0x00) - -Signed-off-by: Marcel Holtmann <marcel@holtmann.org> -Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> ---- - drivers/bluetooth/hci_bcm.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c -index 34882f1..e254011 100644 ---- a/drivers/bluetooth/hci_bcm.c -+++ b/drivers/bluetooth/hci_bcm.c -@@ -44,6 +44,9 @@ - #include "btbcm.h" - #include "hci_uart.h" - -+#define BCM_NULL_PKT 0x00 -+#define BCM_NULL_SIZE 0 -+ - #define BCM_LM_DIAG_PKT 0x07 - #define BCM_LM_DIAG_SIZE 63 - -@@ -468,11 +471,19 @@ finalize: - .lsize = 0, \ - .maxlen = BCM_LM_DIAG_SIZE - -+#define BCM_RECV_NULL \ -+ .type = BCM_NULL_PKT, \ -+ .hlen = BCM_NULL_SIZE, \ -+ .loff = 0, \ -+ .lsize = 0, \ -+ .maxlen = BCM_NULL_SIZE -+ - static const struct h4_recv_pkt bcm_recv_pkts[] = { - { H4_RECV_ACL, .recv = hci_recv_frame }, - { H4_RECV_SCO, .recv = hci_recv_frame }, - { H4_RECV_EVENT, .recv = hci_recv_frame }, - { BCM_RECV_LM_DIAG, .recv = hci_recv_diag }, -+ { BCM_RECV_NULL, .recv = hci_recv_diag }, - }; - - static int bcm_recv(struct hci_uart *hu, const void *data, int count) --- -cgit v1.1 - -From c34dc3bfa7642fda423208579015d615f7becfa0 Mon Sep 17 00:00:00 2001 -From: Ian Molton <ian@mnementh.co.uk> -Date: Sat, 8 Jul 2017 17:37:41 +0100 -Subject: Bluetooth: hci_serdev: Introduce hci_uart_unregister_device() - -Several drivers have the same (and incorrect) code in their -_remove() handler. - -Coalesce this into a shared function. - -Signed-off-by: Ian Molton <ian@mnementh.co.uk> -Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> -Signed-off-by: Marcel Holtmann <marcel@holtmann.org> ---- - drivers/bluetooth/hci_serdev.c | 13 +++++++++++++ - drivers/bluetooth/hci_uart.h | 1 + - 2 files changed, 14 insertions(+) - -diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c -index aea9301..b725ac4 100644 ---- a/drivers/bluetooth/hci_serdev.c -+++ b/drivers/bluetooth/hci_serdev.c -@@ -354,3 +354,16 @@ err_alloc: - return err; - } - EXPORT_SYMBOL_GPL(hci_uart_register_device); -+ -+void hci_uart_unregister_device(struct hci_uart *hu) -+{ -+ struct hci_dev *hdev = hu->hdev; -+ -+ hci_unregister_dev(hdev); -+ hci_free_dev(hdev); -+ -+ cancel_work_sync(&hu->write_work); -+ -+ hu->proto->close(hu); -+} -+EXPORT_SYMBOL_GPL(hci_uart_unregister_device); -diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h -index c6e9e1c..d9cd95d 100644 ---- a/drivers/bluetooth/hci_uart.h -+++ b/drivers/bluetooth/hci_uart.h -@@ -112,6 +112,7 @@ struct hci_uart { - int hci_uart_register_proto(const struct hci_uart_proto *p); - int hci_uart_unregister_proto(const struct hci_uart_proto *p); - int hci_uart_register_device(struct hci_uart *hu, const struct hci_uart_proto *p); -+void hci_uart_unregister_device(struct hci_uart *hu); - - int hci_uart_tx_wakeup(struct hci_uart *hu); - int hci_uart_init_ready(struct hci_uart *hu); --- -cgit v1.1 - -From patchwork Thu Aug 17 17:59:48 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,1/4] dt-bindings: net: bluetooth: Add broadcom-bluetooth -X-Patchwork-Submitter: Loic Poulain <loic.poulain@gmail.com> -X-Patchwork-Id: 802828 -Message-Id: <1502992791-10265-1-git-send-email-loic.poulain@gmail.com> -To: robh+dt@kernel.org, f.fainelli@gmail.com, rjui@broadcom.com, - marcel@holtmann.org, johan.hedberg@gmail.com, stefan.wahren@i2se.com -Cc: devicetree@vger.kernel.org, linux-bluetooth@vger.kernel.org, - linux-rpi-kernel@lists.infradead.org, Loic Poulain <loic.poulain@gmail.com> -Date: Thu, 17 Aug 2017 19:59:48 +0200 -From: Loic Poulain <loic.poulain@gmail.com> -List-Id: <devicetree.vger.kernel.org> - -Add binding document for serial bluetooth chips using -Broadcom protocol. - -Signed-off-by: Loic Poulain <loic.poulain@gmail.com> -Acked-by: Rob Herring <robh@kernel.org> -Acked-by: Rob Herring <robh@kernel.org> -Acked-by: Rob Herring <robh@kernel.org> ---- - v2: dt-bindings as separate patch - rebase on upcoming pi3 dts changes - v3: changes in bcm serdev drivers: - name refactoring and additional comments - Add generic host_set_baudrate method - Use agnostic device_property_read - v4: changes in doc and dts: - Add additional params to broadcom bt dt-bindings - Set the max baudrate to 2000000 instead of 921600 - use chosen/stdout-path instead of console= - remove useless earlyprintk - same changes in bcm283x.dtsi - - .../devicetree/bindings/net/broadcom-bluetooth.txt | 35 ++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - create mode 100644 Documentation/devicetree/bindings/net/broadcom-bluetooth.txt - -diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt -new file mode 100644 -index 0000000..4194ff7 ---- /dev/null -+++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt -@@ -0,0 +1,35 @@ -+Broadcom Bluetooth Chips -+--------------------- -+ -+This documents the binding structure and common properties for serial -+attached Broadcom devices. -+ -+Serial attached Broadcom devices shall be a child node of the host UART -+device the slave device is attached to. -+ -+Required properties: -+ -+ - compatible: should contain one of the following: -+ * "brcm,bcm43438-bt" -+ -+Optional properties: -+ -+ - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt -+ - shutdown-gpios: GPIO specifier, used to enable the BT module -+ - device-wakeup-gpios: GPIO specifier, used to wakeup the controller -+ - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor -+ - clocks: clock specifier if external clock provided to the controller -+ - clock-names: should be "extclk" -+ -+ -+Example: -+ -+&uart2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart2_pins>; -+ -+ bluetooth { -+ compatible = "brcm,bcm43438-bt"; -+ max-speed = <921600>; -+ }; -+}; -From a92507095467d77f4fd05f54ae8d299459c2c3a3 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Sun, 10 Sep 2017 19:29:23 +0100 -Subject: [PATCH 1/2] ARM: dts: bcm283x: Use stdout-path instead of console - bootarg - -Add the serial port config to "chosen/stdout-path". -Create serial0/1 aliases referring to uart0 ant uart1 paths. -Remove unneeded earlyprintk. - -Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> -Signed-off-by: Peter Robinson <pbrobinson@gmail.com> ---- - arch/arm/boot/dts/bcm283x.dtsi | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 431dcfc900c0..013431e3d7c3 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -20,8 +20,13 @@ - #address-cells = <1>; - #size-cells = <1>; - -+ aliases { -+ serial0 = &uart0; -+ serial1 = &uart1; -+ }; -+ - chosen { -- bootargs = "earlyprintk console=ttyAMA0"; -+ stdout-path = "serial0:115200n8"; - }; - - thermal-zones { --- -2.13.5 - From 50252c318fe2fcfcbd0832fa835e7fd1fafd7d2d Mon Sep 17 00:00:00 2001 From: Peter Robinson <pbrobinson@gmail.com> Date: Sun, 10 Sep 2017 19:30:02 +0100 @@ -613,18 +19,6 @@ diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-r index 20725ca487f3..e4488cb3067e 100644 --- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -@@ -8,6 +8,11 @@ - compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; - model = "Raspberry Pi 3 Model B"; - -+ chosen { -+ /* 8250 auxiliar UART instead of pl011 */ -+ stdout-path = "serial1:115200n8"; -+ }; -+ - memory { - reg = <0 0x40000000>; - }; @@ -24,6 +29,11 @@ pinctrl-names = "default"; pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; |