- Nov 03, 2020
-
-
Bryan O'Donoghue authored
This patch calls wcn36xx_smd_keep_alive_req() on the STA patch immediately after associating with an AP. This will cause the firmware to send a NULL packet out to the AP every 30 seconds, thus offloading keep-alive processing from the SoC to the firmware. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
This patch switches on CONNECTION_MONITOR. Once done it is up to the firmware to send keep alive and to monitor the link state. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
The firmware parameter LINK_FAIL_TX_CNT maps to the prima configuration file parameter gLinkFailTxCnt and is described as: quote: " If within gLinkFailTimeout period(values is mentioned in msec) if FW doesn't receive acks for gLinkFailTxCnt number of packets, then link will be disconnected." The downstream description sets a minimum value of 1000 a maximum value of 60000 and a default value of 6000, however it appears that unless we actually set this value deliberately firmware defaults it to 0. Setting this value to non-zero results in the firmware doing link monitoring. The working example from downstream paradoxically sets the value to 200, here we opt to set the value to the minimum stipulated in the configuration file 1000. In conjunction with ieee80211_hw_set(wcn->hw, CONNECTION_MONITOR); this change effects offload of link monitoring to the firmware. Tested with: 'CNSS-PR-2-0-1-2-c1-74-130449-3' wcn3620 'CNSS-PR-2-0-1-2-c1-00083' wcn3680 Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
- Oct 30, 2020
-
-
Bryan O'Donoghue authored
Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
- Oct 29, 2020
-
-
Bryan O'Donoghue authored
Adds "qcom,pronto-v2-pd-pil" a binding that is similar to "qcom,pronto-v2-pil" except vddmx and vddcx are implemented as power-domain corners not via PMIC. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
This patch specifies the compatible string for the wcnss module as "qcom,pronto-v2-pd-pil" which indicates to the PIL driver that it should use power-domain logic when talking to vddmx and vddcx on the MSM8939/APQ8039. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
This patch adds a pm domain specific regulator descriptor. When using regulator corners on pronto-v2 hardware we need to map - vddmx - vddcx as RPMD corner regulators. In contrast - vddpx is controlled via a PMIC as is the case on MSM8916 and MSM8997. This patch adds a binding called "qcom,pronto-v2-pd-pil" and a probe time table to go with that binding, describing pronto-v2 hardware with a different regulator API. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Processors such as the MSM8936, APQ8036, MSM8939 and APQ8039 have voltage rails that are based on fixed performance levels as opposed to specific voltage or current load settings. These corner regulators are presented via the RPMD interface. In the case of WCNSS chips that would be paired with the above SoCs vddmx and vddcx are attached to these corner regulators. This patch provides a binding to represent the corner regulators in a similar way to how the PMIC vregs are represented. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Instead of using the firmware generated sequence number, use the one already allocated by the mac80211 layer. This allows better control of the sequence number and avoid to rely on same sequence for Data, QOS Data and QOS Null Data packets. Signed-off-by:
Loic Poulain <loic.poulain@linaro.org> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Some APs seems to have issues with too close wake/power-save transition. Change the value to a less 'aggressive' one. Signed-off-by:
Loic Poulain <loic.poulain@linaro.org> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
qrtr_smd is required to communicate with the wcn36xx. Enable CONFIG_QRTR_SMD=m now. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
To switch on the WiFi driver properly we need qrtr_smd.ko qrtr_smd.ko depends on qrtr.ko - so switch on CONFIG_QRTR to get the base qrtr.ko as a module now. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Ensure CONFIG_WCN36XX is switched on. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Signed-off-by:
Benjamin Li <benl@squareup.com> Signed-off-by:
Shawn Guo <shawn.guo@linaro.org>
-
The square_defconfig was initially built from upstream defconfig where quite many driver options are not needed for Square device. Let's trim it down for faster kernel build and smaller image size. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org>
-
Follow commit 70a39be6 ("arm64: dts: msm8916: Update coresight bindings for hardware ports") to apply the same update for msm8939 coresight devices. The bonus point is that the following DTC warnings will be gone. arch/arm64/boot/dts/qcom/msm8939-coresight.dtsi:58.11-63.6: Warning (graph_port): /soc/funnel@821000/ports/port@8: graph node unit address error, expected "0" arch/arm64/boot/dts/qcom/msm8939-coresight.dtsi:91.11-97.6: Warning (graph_port): /soc/replicator@824000/ports/port@2: graph node unit address error, expected "0" arch/arm64/boot/dts/qcom/msm8939-coresight.dtsi:119.11-124.6: Warning (graph_port): /soc/etf@825000/ports/port@1: graph node unit address error, expected "0" arch/arm64/boot/dts/qcom/msm8939-coresight.dtsi:304.11-309.6: Warning (graph_port): /soc/funnel@8e1000/ports/port@8: graph node unit address error, expected "0" Signed-off-by:
Shawn Guo <shawn.guo@linaro.org>
-
With the msm8939 clock landed on mainline, we need to have the input clocks to GCC controller "xo" and "sleep_clk" parsed from DT. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org>
-
Commit e6717dba ("arm64: dts: qcom: msm8916: avoid using _ in node names") changes pinctrl device node name. Let's update uart1 pinctrl node name in apq8039-t2-pinctl.dtsi accordingly. Otherwise, we get 'duplicate_label' error from DTC. While at it, add blsp1_uart1_default label, so that we will be reminded by DTC if the label points to different node, just like sleep node. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org>
-
Use the default BLSP function of GPIOs 0-1 (as is inherited by default from msm8916-pins.dtsi), not the GPIO function. Signed-off-by:
Benjamin Li <benl@squareup.com> Signed-off-by:
Shawn Guo <shawn.guo@linaro.org>
-
Switch on interconnect to build bus interconnect driver to adjust bus bandwidth. Signed-off-by:
Jun Nie <jun.nie@linaro.org>
-
Add interconnect controller for bus bandwidth management. Signed-off-by:
Jun Nie <jun.nie@linaro.org>
-
Add driver for the Qualcomm interconnect buses found in MSM8939 based platforms. The topology consists of four NoCs that are controlled by a remote processor that collects the aggregated bandwidth for each master-slave pairs. Signed-off-by:
Jun Nie <jun.nie@linaro.org>
-
The Qualcomm MSM8939 platform has several bus fabrics that could be controlled and tuned dynamically according to the bandwidth demand. Signed-off-by:
Jun Nie <jun.nie@linaro.org>
-
Bryan O'Donoghue authored
For the bluetooth stack to properly initialize we need to provide a default bluetooth MAC. For T2 production we can accomplish this on a device-specific basis with a DT overlay. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Unlike the msm8916 the msm8939 uses power-domain corners for vddmx and vddcx respectively. Specify both of those in terms of the SMD power-domain driver now. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Enables the WiFi wcn36xx pronto driver on T2. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
This patch defaults the WiFi chipset for the MSM8939 to the WCN3680. It is possible that WCN3660 or WCN3620 was paired with a shipping MSM8939 however that's unlikely to be the case and if it is the case, is the outlier. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
When dumping the a DTB for the 8939 I saw the following error. /soc/wcnss@a21b000: simple-bus unit address format error, expected "a204000" This is because the first address given in the regs field is a204000 not a21b000. Make dtc happy by specifying the base address correctly. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Enable TTY emulation over bluetooth RFCOMM. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Enables bluetooth specific networking. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Connects the bluetooth hardware to the WCNSS driver via SMD. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Switch on wireless extensions so we can have consistent behavior between T2 and db410c in terms of iwconfig output. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Switch on debugfs for this part. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Enables the CONFIG_WCN36XX option along with associated dependencies automatically selected by it. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
In order to actually download the WCNSS firmware we need to enable an SMD driver associated with the right channel/memory for that task. CONFIG_QCOM_WCNSS_CTRL is the right driver for that, switch it on now. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Switch on CONFIG_QCOM_WCNSS_PIL to enable loading of Wireless Connectivity Subsystem firmware. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
We now have qfprom device for msm8939 added by commit 'arm64: dts: msm8939: Add nvmem-cpufreq and cpr'. Let's drop the one which was initially copied from msm8916, to avoid the following error during boot. [ 3.744910] sysfs: cannot create duplicate filename '/bus/nvmem/devices/qfprom0' [ 3.745943] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.107-00369-gd85d7131c675-dirty #490 [ 3.753403] Hardware name: Square, Inc. T2 Devkit (DT) [ 3.761821] Call trace: [ 3.766888] dump_backtrace+0x0/0x158 [ 3.769200] show_stack+0x14/0x20 [ 3.773029] dump_stack+0x98/0xbc [ 3.776325] sysfs_warn_dup+0x60/0x78 [ 3.779612] sysfs_do_create_link_sd.isra.0+0xdc/0xe8 [ 3.783259] sysfs_create_link+0x20/0x40 [ 3.788302] bus_add_device+0x68/0x130 [ 3.792286] device_add+0x3f8/0x628 [ 3.795857] nvmem_register.part.4+0x150/0x348 [ 3.799233] devm_nvmem_register+0x4c/0xa8 [ 3.803745] qfprom_probe+0x94/0xb8 [ 3.807829] platform_drv_probe+0x50/0xa0 [ 3.811209] really_probe+0x1b8/0x298 [ 3.815377] driver_probe_device+0x58/0x100 [ 3.819022] __driver_attach+0xe0/0xe8 [ 3.823016] bus_for_each_dev+0x74/0xc8 [ 3.826835] driver_attach+0x20/0x28 [ 3.830567] bus_add_driver+0x1ac/0x218 [ 3.834386] driver_register+0x60/0x110 [ 3.837946] __platform_driver_register+0x40/0x48 [ 3.841777] qfprom_driver_init+0x18/0x20 [ 3.846629] do_one_initcall+0x5c/0x178 [ 3.850625] kernel_init_freeable+0x198/0x244 [ 3.854271] kernel_init+0x10/0x108 [ 3.858779] ret_from_fork+0x10/0x18 [ 3.862975] qcom,qfprom: probe of 5c000.qfprom failed with error -17 Signed-off-by:
Shawn Guo <shawn.guo@linaro.org>
-
Set ‘ret’ properly for error case to fix the build warning below. drivers/clk/clk.c: In function ‘clk_register’: drivers/clk/clk.c:3374:9: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized] int i, ret; ^~~ Fixes: a494c5b9 ("clk: Aggregate power operation per clk") Signed-off-by:
Shawn Guo <shawn.guo@linaro.org>
-
Select CONFIG_REGULATOR_ONSEMI_NCP6335D as it is required by CPR as backend power supply. Signed-off-by:
Jun Nie <jun.nie@linaro.org>
-