- Jan 24, 2023
-
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Port from kernel 3.10 Signed-off-by:
Jun Nie <jun.nie@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
The get_version handler takes a pvs_name buffer and can override it with the speed, pvs, and pvs version values. The function does not take as argument the buffer size and is currently being determined by calling `sizeof("speedXX-pvsXX-vXX")`. This is not great because it duplicates the string in several locations which makes it error-prone if we need to modify the string someday. Also since the buffer and its size are tied together, it makes sense that they should both be passed together to the get_version as parameters. This commit makes sure that the PVS name template string is only defined once, and that the pvs_name buffer is passed with its size. Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Avoid printing an error when dev_pm_opp_set_config fails because a dependency hasn't been probed yet. Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Add platform data for the MSM8939 SoC. Signed-off-by:
Jun Nie <jun.nie@linaro.org> Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
When the kernel is booting there might be an offset for the initialization voltage. Add support for such initialization voltage offset adjustments. Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
Currently the CPR driver is hardcoding the adjustment quotient for each fuse corner inside the platform data. Unfortunately on some SoCs, such as MSM8939, the value of the adjustment quotient is not fixed for the SoC, and will depends on the PVS version, Speed bin, and CPR version. This commit make it now possible to define the adjustment quotients inside the device-tree and the correct values will be used depending on the PVS/Speed Bin/CPR versions. Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
- Jan 23, 2023
-
-
Signed-off-by:
Jun Nie <jun.nie@linaro.org> Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Some SoCs, such as MSM8939, require to use some override parameters for ACC. This commit use some value from the fuses which indicates whether that SoC should use the override parameters. The CPR driver updates the pointer to the ACC descriptor in order to use the override parameters instead. Signed-off-by:
Leo Yan <leo.yan@linaro.org> Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Each fuse corner has range of safe voltage: min_uV and max_uV. The driver currently tries to set a specific voltage through the following call: regulator_set_voltage(drv->vdd_apc, new_uV, new_uV); On some platforms, new_uV might not be a voltage that that regulator is able to provide. Let the regulator driver choose instead a supported voltage that is between new_uV and max_uV. Signed-off-by:
Jun Nie <jun.nie@linaro.org> Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Signed-off-by:
Jun Nie <jun.nie@linaro.org> Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
The MSM8939 cluster 0 has a quirk and require a very specific initialization otherwise the SoC will reset. This commit implement the correct initialization sequence for the cluster 0. The Cluster 1 and CCI should not use this init sequence. Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Fabien Parent authored
The cluster 0 of the MSM8939 has some quirks that requires some specific initialization sequence that do not apply to the cluster 1, CCI or to other SoCs. This commit adds a new compatible specific to the cluster 0 on MSM8939. Signed-off-by:
Fabien Parent <fabien.parent@linaro.org>
-
Bryan O'Donoghue authored
The documentation for this driver says the backlight is controlled by the DSC. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
XO is actually buffered via the PMIC, controlled by the RPM. The only place we need to directly reference xo_board is for the RPM clock controller itself which obviously can't point back to itself for a reference clock. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
The XO clock is buffered via RPM and output by the PMIC. Add in the RPM indicies to instantiate the SMD RPC for this. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Update the snoc example with a snoc-mm child node example. Convert from msm8916-snoc to msm8939-snoc to facilitate the updated example. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
We've had some discongruity in the compatible string of the lpass for 8916 for a while. Mark the old compat as deprecated. New SoC additions such as msm8936 and msm8939 should use the compat string "qcom,apq8016-lpass-cpu". Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
The msm9836/msm8939 has two available encoder/decoder capable blocks. In upstream we support a dedicated encoder and a dedicated decoder. As far as I understand it, it would be feasible to have two decoders or two encoders for parallel work like say decoding a video stream to each of the DSI outputs. Here though we add-in as per the upstream standard of fixed encoder and fixed decoder at the first and second co-processor blocks. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
The msm8936/msm8939 venus contains two cores which allow for simultaneous encoding or decoding. An evolution of the msm8916 IP block, some higher clock rates, bandwidth. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
msm8936/msm8939 have 2 x HFI 2xx cores which can be arranged as encoder and decoder like versions 3xx and later. Similar to 3xx and later we have - A power domain per core - A clock per core But unlike 3xx we do not have a specific encoder start/stop command address. Add in callbacks for HFI V2xx compliant hardware to optionally set a power-domain and clock for the encoder and decoder cores individually. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
On some hardware when we switch from one pin state to another it is desirable to have a delay time to allow for peripheral chips to take action based on the pin-state we have set. This patch adds support for a delay time to be specified when doing that switch. The switch and delay is a pattern then that is functionally decomposed into ci_platform_set_pin_state(). If no delay time is specified the pin-switch happens as before with zero delay. If a delay time is specified the pin-state is applied and then the specified delay delay is applied. Cc: Loic Poulain <loic.poulain@linaro.org> Cc: Peter Chen <peter.chen@nxp.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
After applying a new pin state it is depending on the platform sometimes appropriate to delay before proceeding. A delay can allow for a peripheral component, such as a USB Hub to latch and take action based on the pin-state as presented by the SoC. This patch introduces a new optional property pin-switch-delay-us. The delay period will trigger a delay as specified in the DT if and only if switching pinctrl state, otherwise this variable has no effect. Cc: Loic Poulain <loic.poulain@linaro.org> Cc: Peter Chen <peter.chen@nxp.com> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Add logic to enable or disable the internal DP pullup on controller start and stop only. This handles the case of pulling DP high all the time when the controller isn't connected to VBUS. Using something like an external TypeC port manager IC and USB Hub can result in the VBUS line not being connected to the PHY. Still though we need to pull the line high during operation and set it low when switching off the controller. When the PHY can sense VBUS our default behavior should still be to pull up or pull down DP since in this case we need to drive different levels on DP as we are directly connected to a Host or a Device in a way we are not when a TypeC port manager / Hub intermediates for us. This patch replicates the original downstream enabling logic for the DP pullup while leaving the existing DP/VBUS loop untouched. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Downstream has a flag called qcom,dp-manual-pullup which informs the downstream driver if it should toggle ULPI_MISC_A_VBUSVLDEXTSEL and ULPI_MISC_A_VBUSVLDEXT. Downstream states: "qcom,dp-manual-pullup: If present, vbus is not routed to USB controller/phy and controller driver therefore enables pull-up explicitly before starting controller using usbcmd run/stop bit." Working with a system that has both an external Type-C port controller and an internal USB Hub results in a situation where VBUS is not connected to the SoC. In this case we still need to set the DP pullup. This patch enables and disables the DP pullup on PHY power_on and power_off respectively if the DT has declared the bool "qcom,enable-vbus-pullup" effectively replicating the downstream logic to the same effect. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
The original Qualcomm driver for the HighSpeed USB PHY contains a flag which tells the driver that the controller and PHY do not connect to VBUS. In this case an external IC such as a Type-C port manager supplies VBUS and the VBUS signal is not routed to the SoC. This means we cannot detect the presence or absence of VBUS and cannot take action based on it. Document the downstream boolean qcom,dp-manual-pullup to allow the HS PHY implement the necessary logic. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
Bryan O'Donoghue authored
Add in support for display out a Truly 63350 on DSI0. Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
This is to support the use case that LK configures the panel for splash screen and then passes the panel type to kernel via cmdline. It's a vendor bootloader/kernel specific implementation, and not suitable for upstream. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-
It adds a drm panel driver for Truly panel with R65530 driver IC. It supports not only Truly panel but also panel from AUO that is integrated with a R65530 driver IC, although the driver is named after Truly. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org> Signed-off-by:
Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-