From 33628acb253b88e9c5a5f1777a292731b9217f81 Mon Sep 17 00:00:00 2001 From: Hoegeun Kwon Date: Thu, 4 Jul 2019 17:40:58 +0900 Subject: [PATCH 01/16] drm/vc4: Fix change to find_panel in the dsi_attach func There is a problem that crtc does not bind while continuously requesting EPROBE_DEFER, if dsi_bind does not successfully bind. We need to change the part of find_panel in bind to dsi_attach function. Change-Id: Ifce518f047f496079eb8fbe112dabbd9bc7488bb Signed-off-by: Hoegeun Kwon --- drivers/gpu/drm/vc4/vc4_dsi.c | 57 +++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c index fa2e9db..2dcaabb 100644 --- a/drivers/gpu/drm/vc4/vc4_dsi.c +++ b/drivers/gpu/drm/vc4/vc4_dsi.c @@ -1306,6 +1306,8 @@ static int vc4_dsi_host_attach(struct mipi_dsi_host *host, struct mipi_dsi_device *device) { struct vc4_dsi *dsi = host_to_dsi(host); + struct drm_panel *panel; + int ret; dsi->lanes = device->lanes; dsi->channel = device->channel; @@ -1340,6 +1342,28 @@ static int vc4_dsi_host_attach(struct mipi_dsi_host *host, return 0; } + ret = drm_of_find_panel_or_bridge(dsi->pdev->dev.of_node, 0, 0, + &panel, &dsi->bridge); + if (ret) { + /* If the bridge or panel pointed by dev->of_node is not + * enabled, just return 0 here so that we don't prevent the DRM + * dev from being registered. Of course that means the DSI + * encoder won't be exposed, but that's not a problem since + * nothing is connected to it. + */ + if (ret == -ENODEV) + return 0; + + return ret; + } + + if (panel) { + dsi->bridge = devm_drm_panel_bridge_add(&dsi->pdev->dev, panel, + DRM_MODE_CONNECTOR_DSI); + if (IS_ERR(dsi->bridge)) + return PTR_ERR(dsi->bridge); + } + return 0; } @@ -1510,7 +1534,6 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data) struct vc4_dev *vc4 = to_vc4_dev(drm); struct vc4_dsi *dsi = dev_get_drvdata(dev); struct vc4_dsi_encoder *vc4_dsi_encoder; - struct drm_panel *panel; const struct of_device_id *match; dma_cap_mask_t dma_mask; int ret; @@ -1616,28 +1639,6 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data) return ret; } - ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0, - &panel, &dsi->bridge); - if (ret) { - /* If the bridge or panel pointed by dev->of_node is not - * enabled, just return 0 here so that we don't prevent the DRM - * dev from being registered. Of course that means the DSI - * encoder won't be exposed, but that's not a problem since - * nothing is connected to it. - */ - if (ret == -ENODEV) - return 0; - - return ret; - } - - if (panel) { - dsi->bridge = devm_drm_panel_bridge_add(dev, panel, - DRM_MODE_CONNECTOR_DSI); - if (IS_ERR(dsi->bridge)) - return PTR_ERR(dsi->bridge); - } - /* The esc clock rate is supposed to always be 100Mhz. */ ret = clk_set_rate(dsi->escape_clock, 100 * 1000000); if (ret) { @@ -1656,10 +1657,12 @@ static int vc4_dsi_bind(struct device *dev, struct device *master, void *data) DRM_MODE_ENCODER_DSI, NULL); drm_encoder_helper_add(dsi->encoder, &vc4_dsi_encoder_helper_funcs); - ret = drm_bridge_attach(dsi->encoder, dsi->bridge, NULL); - if (ret) { - dev_err(dev, "bridge attach failed: %d\n", ret); - return ret; + if (dsi->bridge) { + ret = drm_bridge_attach(dsi->encoder, dsi->bridge, NULL); + if (ret) { + dev_err(dev, "bridge attach failed: %d\n", ret); + return ret; + } } /* Disable the atomic helper calls into the bridge. We * manually call the bridge pre_enable / enable / etc. calls -- 2.7.4 From 826012a68960a7920ebe7bbbebb4481e4c9b4e69 Mon Sep 17 00:00:00 2001 From: Hoegeun Kwon Date: Thu, 4 Jul 2019 17:42:52 +0900 Subject: [PATCH 02/16] ARM: dts: bcm27xx: Fix to of_graph from bridge node for touchscreen Beginning with kernel v4.15, the i2c management of the touchscreen panel driver has been changed to use of_graph from brdge node. So change to of_graph and remove the unnecessary nodes. Change-Id: I6ef786ed472ef2b350eb8683568d0ecb407182c0 Signed-off-by: Hoegeun Kwon --- arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 6 ------ arch/arm/boot/dts/bcm270x.dtsi | 19 +++++++++++++------ arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 6 ------ arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 6 ------ arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 6 ------ 5 files changed, 13 insertions(+), 30 deletions(-) diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts index 976ad46d..89bbd53 100644 --- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -180,10 +180,4 @@ #address-cells = <1>; #size-cells = <0>; status = "okay"; - - pitouchscreen: panel@0 { - compatible = "raspberrypi,touchscreen"; - reg = <0>; - raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>; - }; }; diff --git a/arch/arm/boot/dts/bcm270x.dtsi b/arch/arm/boot/dts/bcm270x.dtsi index 6f19c64..1d09f66 100644 --- a/arch/arm/boot/dts/bcm270x.dtsi +++ b/arch/arm/boot/dts/bcm270x.dtsi @@ -162,14 +162,15 @@ #size-cells = <0>; status = "disabled"; - pitouchscreen_bridge: bridge@45 { - compatible = "raspberrypi,touchscreen-bridge-i2c"; + lcd@45 { + compatible = "raspberrypi,7inch-touchscreen-panel"; reg = <0x45>; - }; - pitouchscreen_touch: bridge@38 { - compatible = "raspberrypi,touchscreen-ts-i2c"; - reg = <0x38>; + port { + panel_dsi_port: endpoint { + remote-endpoint = <&dsi_out_port>; + }; + }; }; }; @@ -205,4 +206,10 @@ &dsi1 { power-domains = <&power RPI_POWER_DOMAIN_DSI1>; + + port { + dsi_out_port: endpoint { + remote-endpoint = <&panel_dsi_port>; + }; + }; }; diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts index f024be1..6787a00 100644 --- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts @@ -346,10 +346,4 @@ #address-cells = <1>; #size-cells = <0>; status = "okay"; - - pitouchscreen: panel@0 { - compatible = "raspberrypi,touchscreen"; - reg = <0>; - raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>; - }; }; diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts index 62327354..10a2a49 100644 --- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts @@ -357,10 +357,4 @@ #address-cells = <1>; #size-cells = <0>; status = "okay"; - - pitouchscreen: panel@0 { - compatible = "raspberrypi,touchscreen"; - reg = <0>; - raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>; - }; }; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts index cb2e16d..ec376ee 100644 --- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts @@ -140,12 +140,6 @@ #address-cells = <1>; #size-cells = <0>; status = "okay"; - - pitouchscreen: panel@0 { - compatible = "raspberrypi,touchscreen"; - reg = <0>; - raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>; - }; }; }; -- 2.7.4 From 0f7b182dc1579e5db63d262f754778f00e71c9db Mon Sep 17 00:00:00 2001 From: DoHyun Pyun Date: Fri, 12 Jul 2019 13:45:10 +0900 Subject: [PATCH 03/16] ARM: configs: tizen_bcm2709_defconfig: Enable BCM Uart protocol RPI3 target uses the BCM BT chip of the Uart type. To avoid the reassembly failed problem, we should enable BCM Uart protocol and need to use it. It is enabled with CONFIG_SERIAL_DEV_BUS. Change-Id: I3cf97b032e1ce92898f2329fae3691d4d5870726 Signed-off-by: DoHyun Pyun [sw0312.kim: adjust defconfig with savedefconfig and update commit-msg] Signed-off-by: Seung-Woo Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index 7905932..454c3fd 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -139,7 +139,7 @@ CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HIDP=y CONFIG_BT_HCIUART=y -CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCM=y CONFIG_BT_HCIBCM203X=m CONFIG_CFG80211=y CONFIG_CFG80211_WEXT=y @@ -212,6 +212,7 @@ CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y CONFIG_TTY_PRINTK=y CONFIG_HW_RANDOM=y CONFIG_RAW_DRIVER=y -- 2.7.4 From 67716d6e4697dbf9cb575e0cef5c8a4de42736d5 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 12 Jul 2019 14:13:37 +0900 Subject: [PATCH 04/16] ARM64: configs: tizen_bcmrpi3_defconfig: Enable BCM Uart protocol RPI3 target uses the BCM BT chip of the Uart type. To avoid the reassembly failed problem, we should enable BCM Uart protocol and need to use it. It is enabled with CONFIG_SERIAL_DEV_BUS. Change-Id: I960ddb6f6b3cb64261ebcdc750771943697948ae Signed-off-by: Seung-Woo Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index 640d737..1eb8595 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -138,7 +138,7 @@ CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HIDP=y CONFIG_BT_HCIUART=y -CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCM=y CONFIG_CFG80211=y CONFIG_CFG80211_WEXT=y CONFIG_MAC80211=y @@ -212,6 +212,7 @@ CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y CONFIG_TTY_PRINTK=y CONFIG_HW_RANDOM=y CONFIG_RAW_DRIVER=y -- 2.7.4 From 474c5daa253fb2c47aec02499783b10d664f4763 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 17 Jul 2019 10:56:16 +0900 Subject: [PATCH 05/16] Bluetooth: fix wrong indent in __hci_req_update_{scan/adv}_rsp_data() The commit ac160e08af69 ("Bluetooth: Add Advertising Packet Configuration") introduces wrong indent which causes build warning for gcc-7. Fix the wrong indent. Change-Id: Ia0bde8a8f9660ccf8fa312e3c3ec6c8cb76863f1 Fixes: ac160e08af69 ("Bluetooth: Add Advertising Packet Configuration") Signed-off-by: Seung-Woo Kim --- net/bluetooth/hci_request.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c index 7069cd0..71e3e1e 100644 --- a/net/bluetooth/hci_request.c +++ b/net/bluetooth/hci_request.c @@ -1220,11 +1220,11 @@ void __hci_req_update_scan_rsp_data(struct hci_request *req, u8 instance) else len = create_default_scan_rsp_data(hdev, cp.data); #ifdef TIZEN_BT - /* Advertising scan response data is handled in bluez. - * This value will be updated only when application request the update - * using adapter_set_scan_rsp_data() - */ - return; + /* Advertising scan response data is handled in bluez. + * This value will be updated only when application request the update + * using adapter_set_scan_rsp_data() + */ + return; #else if (hdev->scan_rsp_data_len == len && @@ -1253,11 +1253,11 @@ void __hci_req_update_scan_rsp_data(struct hci_request *req, u8 instance) else len = create_default_scan_rsp_data(hdev, cp.data); #ifdef TIZEN_BT - /* Advertising scan response data is handled in bluez. - * This value will be updated only when application request the update - * using adapter_set_scan_rsp_data() - */ - return; + /* Advertising scan response data is handled in bluez. + * This value will be updated only when application request the update + * using adapter_set_scan_rsp_data() + */ + return; #else if (hdev->scan_rsp_data_len == len && !memcmp(cp.data, hdev->scan_rsp_data, len)) @@ -1369,11 +1369,11 @@ void __hci_req_update_adv_data(struct hci_request *req, u8 instance) len = create_instance_adv_data(hdev, instance, cp.data); #ifdef TIZEN_BT - /* Bluez will handle the advertising data including the flag and tx - * power. This value will be updated only when application request the - * update using adapter_set_advertising_data(). - */ - return; + /* Bluez will handle the advertising data including the flag and tx + * power. This value will be updated only when application request the + * update using adapter_set_advertising_data(). + */ + return; #else /* There's nothing to do if the data hasn't changed */ if (hdev->adv_data_len == len && @@ -1398,11 +1398,11 @@ void __hci_req_update_adv_data(struct hci_request *req, u8 instance) len = create_instance_adv_data(hdev, instance, cp.data); #ifdef TIZEN_BT - /* Bluez will handle the advertising data including the flag and tx - * power. This value will be updated only when application request the - * update using adapter_set_advertising_data(). - */ - return; + /* Bluez will handle the advertising data including the flag and tx + * power. This value will be updated only when application request the + * update using adapter_set_advertising_data(). + */ + return; #else /* There's nothing to do if the data hasn't changed */ if (hdev->adv_data_len == len && -- 2.7.4 From 5cc55680fc9fe5bfd7590905c56e55dfa4aefbd5 Mon Sep 17 00:00:00 2001 From: DoHyun Pyun Date: Wed, 17 Jul 2019 16:08:46 +0900 Subject: [PATCH 06/16] Bluetooth : Set the optimized operation speed for BCM Uart When ACL data packet transfers via Uart on the RPI3 board, the packet loss or overflow issue is occured. After adjusting the operation speed value, we can reduce these problems. Change-Id: Id072102e173e0338c4ae3cb7a1a541fbf7f8066e Signed-off-by: DoHyun Pyun --- drivers/bluetooth/hci_bcm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 8001323..14326b5 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -1070,6 +1070,9 @@ static const struct hci_uart_proto bcm_proto = { .name = "Broadcom", .manufacturer = 15, .init_speed = 115200, +#ifdef TIZEN_BT + .oper_speed = 460800, +#endif .open = bcm_open, .close = bcm_close, .flush = bcm_flush, -- 2.7.4 From 2b74fba3a4037eb3671cf9649a1403ae2e836a2c Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Mon, 22 Jul 2019 15:00:12 +0900 Subject: [PATCH 07/16] packaging: remove macro in package Name Some build system cannot recognize macro in package Name. Remove the macro by replacing with same string. Change-Id: I34c853be82476db3b32d49aadc77809a2f493436 Signed-off-by: Seung-Woo Kim --- packaging/linux-rpi3.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/linux-rpi3.spec b/packaging/linux-rpi3.spec index ab370c2..31ac97d 100644 --- a/packaging/linux-rpi3.spec +++ b/packaging/linux-rpi3.spec @@ -8,7 +8,7 @@ %define target_board rpi3 %define variant %{buildarch}-%{target_board} -Name: %{target_board}-linux-kernel +Name: rpi3-linux-kernel Summary: The Linux Kernel for Raspberry Pi3 Version: 4.19.49 Release: 0 -- 2.7.4 From 8bc5a5e6a4e799a3e5d019d54812a47c0b891c2f Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Tue, 23 Jul 2019 10:28:13 +0900 Subject: [PATCH 08/16] packaging: Add _wrong_version_format_terminate_build macro Newer version of rpmbuild rejects double dash, "-", in version. To support the style, add _worng_version_format_terminate_build as 0. Change-Id: Ieed243fb4ad7059b83d5328f0c38b15e4c74dc0e Reference: https://github.com/rpm-software-management/rpm/commit/5e94633660d0e2b97 Signed-off-by: Seung-Woo Kim --- packaging/linux-rpi3.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packaging/linux-rpi3.spec b/packaging/linux-rpi3.spec index 31ac97d..9af2618 100644 --- a/packaging/linux-rpi3.spec +++ b/packaging/linux-rpi3.spec @@ -1,3 +1,6 @@ +# Ignore double dash in version for rpmbuild +%define _wrong_version_format_terminate_build 0 + %ifarch aarch64 %define config_name tizen_bcmrpi3_defconfig %define buildarch arm64 -- 2.7.4 From adb0d6b17578352713b6feae7f8dbdf1357989ba Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 11 Jul 2019 13:13:39 +0100 Subject: [PATCH 09/16] tty: amba-pl011: Make TX optimisation conditional pl011_tx_chars takes a "from_irq" parameter to reduce the number of register accesses. When from_irq is true the function assumes that the FIFO is half empty and writes up to half a FIFO's worth of bytes without polling the FIFO status register, the reasoning being that the function is being called as a result of the TX interrupt being raised. This logic would work were it not for the fact that pl011_rx_chars, called from pl011_int before pl011_tx_chars, releases the spinlock before calling tty_flip_buffer_push. A user thread writing to the UART claims the spinlock and ultimately calls pl011_tx_chars with from_irq set to false. This reverts to the older logic that polls the FIFO status register before sending every byte. If this happen on an SMP system during the section of the IRQ handler where the spinlock has been released, then by the time the TX interrupt handler is called, the FIFO may already be full, and any further writes are likely to be lost. The fix involves adding a per-port flag that is true iff running from within the interrupt handler and the spinlock has not yet been released. This flag is then used as the value for the from_irq parameter of pl011_tx_chars, causing polling to be used in the unsafe case. Fixes: 1e84d22322ce ("serial/amba-pl011: Refactor and simplify TX FIFO handling") Signed-off-by: Phil Elwell [sw0312.kim: cherry-pick from rpi-4.19.y to reduce bt reassembly issue] Reference: https://github.com/raspberrypi/firmware/issues/1150 Signed-off-by: Seung-Woo Kim Change-Id: Ia56b9fffb8805ca02d04ed9c9b810988e1b56642 --- drivers/tty/serial/amba-pl011.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index 6f15f32..9c101e5 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -270,6 +270,7 @@ struct uart_amba_port { unsigned int old_cr; /* state during shutdown */ unsigned int fixed_baud; /* vendor-set fixed baud rate */ char type[12]; + bool irq_locked; /* in irq, unreleased lock */ #ifdef CONFIG_DMA_ENGINE /* DMA stuff */ bool using_tx_dma; @@ -814,6 +815,7 @@ __acquires(&uap->port.lock) return; /* Avoid deadlock with the DMA engine callback */ + uap->irq_locked = 0; spin_unlock(&uap->port.lock); dmaengine_terminate_all(uap->dmatx.chan); spin_lock(&uap->port.lock); @@ -941,6 +943,7 @@ static void pl011_dma_rx_chars(struct uart_amba_port *uap, fifotaken = pl011_fifo_to_tty(uap); } + uap->irq_locked = 0; spin_unlock(&uap->port.lock); dev_vdbg(uap->port.dev, "Took %d chars from DMA buffer and %d chars from the FIFO\n", @@ -1349,6 +1352,7 @@ __acquires(&uap->port.lock) { pl011_fifo_to_tty(uap); + uap->irq_locked = 0; spin_unlock(&uap->port.lock); tty_flip_buffer_push(&uap->port.state->port); /* @@ -1484,6 +1488,7 @@ static irqreturn_t pl011_int(int irq, void *dev_id) int handled = 0; spin_lock_irqsave(&uap->port.lock, flags); + uap->irq_locked = 1; status = pl011_read(uap, REG_RIS) & uap->im; if (status) { do { @@ -1503,7 +1508,7 @@ static irqreturn_t pl011_int(int irq, void *dev_id) UART011_CTSMIS|UART011_RIMIS)) pl011_modem_status(uap); if (status & UART011_TXIS) - pl011_tx_chars(uap, true); + pl011_tx_chars(uap, uap->irq_locked); if (pass_counter-- == 0) break; -- 2.7.4 From ad3b011329c8212b4036d6ed0ec78f7a7ce9745a Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Tue, 23 Jul 2019 18:31:05 +0900 Subject: [PATCH 10/16] ARM: dts: bcm2710-rpi-3-b-plus: Add cts pin setting for bluetooth uart There is missing cts pin for uart0 used by bluetooth. Add the cts pin setting as like bcm2837-rpi-3-b-plus. Change-Id: Iefdf80ec0d523b85f7a6e579e1544a67b9139212 Signed-off-by: Seung-Woo Kim --- arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts index 6787a00..aa1bb15 100644 --- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts @@ -120,6 +120,12 @@ brcm,pull; }; + uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 { + brcm,pins = <30 31>; + brcm,function = ; + brcm,pull = ; + }; + audio_pins: audio_pins { brcm,pins = <40 41>; brcm,function = <4>; @@ -175,7 +181,7 @@ &uart0 { pinctrl-names = "default"; - pinctrl-0 = <&uart0_pins &bt_pins>; + pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_pins &bt_pins>; status = "okay"; }; -- 2.7.4 From 5121fda33c015a522f3807571cef5ceb63b69563 Mon Sep 17 00:00:00 2001 From: DoHyun Pyun Date: Thu, 25 Jul 2019 12:45:21 +0900 Subject: [PATCH 11/16] Revert "Bluetooth : Set the optimized operation speed for BCM Uart" This reverts commit 5cc55680fc9fe5bfd7590905c56e55dfa4aefbd5. The proper operation speed of the RPI3 Uart is different for each HW revision. So we will set the value in the user space's firmware downloading tool after checking the HW version. Change-Id: I95d80f3598015a27fbdc1375b3d6c089be67b8d0 Signed-off-by: DoHyun Pyun --- drivers/bluetooth/hci_bcm.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 14326b5..8001323 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -1070,9 +1070,6 @@ static const struct hci_uart_proto bcm_proto = { .name = "Broadcom", .manufacturer = 15, .init_speed = 115200, -#ifdef TIZEN_BT - .oper_speed = 460800, -#endif .open = bcm_open, .close = bcm_close, .flush = bcm_flush, -- 2.7.4 From 373a5e7405db735795020e2ec50d1dd446ac544e Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Thu, 25 Jul 2019 16:34:59 +0900 Subject: [PATCH 12/16] ARM: dts: bcm2710-rpi-3-b-plus: remove duplicated uart0_ctsrts_gpio30 node The commit ad3b011329c8 ("ARM: dts: bcm2710-rpi-3-b-plus: Add cts pin setting for bluetooth uart") introduced duplicated dt node, uart0_ctsrts_gpio30, because it is already defined in bcm283x.dtsi. Remove the duplicated dt node. Change-Id: Ic9a39b88662198f30b585f48f2f0e896b62ab8f3 Signed-off-by: Seung-Woo Kim --- arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts index aa1bb15..9482f54 100644 --- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts @@ -120,12 +120,6 @@ brcm,pull; }; - uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 { - brcm,pins = <30 31>; - brcm,function = ; - brcm,pull = ; - }; - audio_pins: audio_pins { brcm,pins = <40 41>; brcm,function = <4>; -- 2.7.4 From 6f63b8843adba2c5f74974778f48e9d668765a46 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 31 Jul 2019 17:00:32 +0900 Subject: [PATCH 13/16] ARM64: configs: tizen_bcmrpi3_defconfig: Enable NETFILTER_XT_MATCH_OWNER config Enable the NETFILTER_XT_MATCH_OWNER config option to use xt_owner supplementary groups. Change-Id: I1baf6d78dc7c28d7235bb1cce9b6132b2fba7148 Signed-off-by: Seung-Woo Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index 1eb8595..41647c8 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -108,6 +108,7 @@ CONFIG_NETFILTER_XT_TARGET_AUDIT=y CONFIG_NETFILTER_XT_TARGET_LOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_MATCH_OWNER=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_NAT=y CONFIG_IP_NF_TARGET_MASQUERADE=y -- 2.7.4 From 60b05a7d66c4f6800edfd149fd21659286ade48e Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 31 Jul 2019 17:01:06 +0900 Subject: [PATCH 14/16] ARM: configs: tizen_bcm2709_defconfig: Enable NETFILTER_XT_MATCH_OWNER config Enable the NETFILTER_XT_MATCH_OWNER config option to use xt_owner supplementary groups. Change-Id: I10a8277e2c42cae8cd02eb892e2dac5124681a71 Signed-off-by: Seung-Woo Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index 454c3fd..dd0d9dc1 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -108,6 +108,7 @@ CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_LOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_MATCH_OWNER=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_NAT=y CONFIG_IP_NF_TARGET_MASQUERADE=y -- 2.7.4 From 0abf58adb8c3386fa0506714cbc30d1afe86f7d5 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 28 Aug 2019 17:11:56 +0900 Subject: [PATCH 15/16] ARM64: configs: tizen_bcmrpi3_defconfig: Enable NETFILTER_XT_MATCH_LIMIT From Tizen network security, NETFILTER_XT_MATCH_LIMIT is used for ipv6. So enable NETFILTER_XT_MATCH_LIMIT config option. Change-Id: Ieeba2c67481e299fb3d91ee4378f8b2a2baffc7b Signed-off-by: Seung-Woo Kim --- arch/arm64/configs/tizen_bcmrpi3_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/tizen_bcmrpi3_defconfig b/arch/arm64/configs/tizen_bcmrpi3_defconfig index 41647c8..79cbbf8 100644 --- a/arch/arm64/configs/tizen_bcmrpi3_defconfig +++ b/arch/arm64/configs/tizen_bcmrpi3_defconfig @@ -108,6 +108,7 @@ CONFIG_NETFILTER_XT_TARGET_AUDIT=y CONFIG_NETFILTER_XT_TARGET_LOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y CONFIG_NETFILTER_XT_MATCH_OWNER=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_NAT=y -- 2.7.4 From c88150b76a8cad111d2c6bcd0400c0e004627ee4 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Wed, 28 Aug 2019 17:13:22 +0900 Subject: [PATCH 16/16] ARM: configs: tizen_bcm2709_defconfig: Enable NETFILTER_XT_MATCH_LIMIT From Tizen network security, NETFILTER_XT_MATCH_LIMIT is used for ipv6. So enable NETFILTER_XT_MATCH_LIMIT config option. Change-Id: Ife75ee0a766c64fb38a0e261f41a45678ab49bd4 Signed-off-by: Seung-Woo Kim --- arch/arm/configs/tizen_bcm2709_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/tizen_bcm2709_defconfig b/arch/arm/configs/tizen_bcm2709_defconfig index dd0d9dc1..a4caf39 100644 --- a/arch/arm/configs/tizen_bcm2709_defconfig +++ b/arch/arm/configs/tizen_bcm2709_defconfig @@ -108,6 +108,7 @@ CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_LOG=y CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y CONFIG_NETFILTER_XT_MATCH_OWNER=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_NAT=y -- 2.7.4