-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'qcom-drivers-for-5.6' of https://git.kernel.org/pub/scm/li…
…nux/kernel/git/qcom/linux into arm/drivers Qualcomm driver updates for v5.6 * SCM major refactoring and cleanup * Properly flag active only power domains as active only * Add SC7180 and SM8150 RPMH power domains * Return EPROBE_DEFER from QMI if packet family is not yet available * tag 'qcom-drivers-for-5.6' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (27 commits) firmware: qcom_scm: Dynamically support SMCCC and legacy conventions firmware: qcom_scm: Remove thin wrappers firmware: qcom_scm: Order functions, definitions by service/command firmware: qcom_scm-32: Add device argument to atomic calls firmware: qcom_scm-32: Create common legacy atomic call firmware: qcom_scm-32: Move SMCCC register filling to qcom_scm_call firmware: qcom_scm-32: Use qcom_scm_desc in non-atomic calls firmware: qcom_scm-32: Add funcnum IDs firmware: qcom_scm-32: Use SMC arch wrappers firmware: qcom_scm-64: Improve SMC convention detection firmware: qcom_scm-64: Move SMC register filling to qcom_scm_call_smccc firmware: qcom_scm-64: Add SCM results struct firmware: qcom_scm-64: Move svc/cmd/owner into qcom_scm_desc firmware: qcom_scm-64: Make SMC macros less magical firmware: qcom_scm: Remove unused qcom_scm_get_version firmware: qcom_scm: Apply consistent naming scheme to command IDs firmware: qcom_scm: Rename macros and structures soc: qcom: rpmhpd: Set 'active_only' for active only power domains firmware: scm: Add stubs for OCMEM and restore_sec_cfg_available dt-bindings: power: rpmpd: Convert rpmpd bindings to yaml ... Link: https://lore.kernel.org/r/20200113204405.GD3325@yoga Signed-off-by: Olof Johansson <olof@lixom.net>
- Loading branch information
Showing
16 changed files
with
1,504 additions
and
1,741 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
170 changes: 170 additions & 0 deletions
170
Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/power/qcom,rpmpd.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcomm RPM/RPMh Power domains | ||
|
||
maintainers: | ||
- Rajendra Nayak <rnayak@codeaurora.org> | ||
|
||
description: | ||
For RPM/RPMh Power domains, we communicate a performance state to RPM/RPMh | ||
which then translates it into a corresponding voltage on a rail. | ||
|
||
properties: | ||
compatible: | ||
enum: | ||
- qcom,msm8976-rpmpd | ||
- qcom,msm8996-rpmpd | ||
- qcom,msm8998-rpmpd | ||
- qcom,qcs404-rpmpd | ||
- qcom,sc7180-rpmhpd | ||
- qcom,sdm845-rpmhpd | ||
- qcom,sm8150-rpmhpd | ||
|
||
'#power-domain-cells': | ||
const: 1 | ||
|
||
operating-points-v2: true | ||
|
||
opp-table: | ||
type: object | ||
|
||
required: | ||
- compatible | ||
- '#power-domain-cells' | ||
- operating-points-v2 | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
// Example 1 (rpmh power domain controller and OPP table): | ||
#include <dt-bindings/power/qcom-rpmpd.h> | ||
rpmhpd: power-controller { | ||
compatible = "qcom,sdm845-rpmhpd"; | ||
#power-domain-cells = <1>; | ||
operating-points-v2 = <&rpmhpd_opp_table>; | ||
rpmhpd_opp_table: opp-table { | ||
compatible = "operating-points-v2"; | ||
rpmhpd_opp_ret: opp1 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>; | ||
}; | ||
rpmhpd_opp_min_svs: opp2 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>; | ||
}; | ||
rpmhpd_opp_low_svs: opp3 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; | ||
}; | ||
rpmhpd_opp_svs: opp4 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_SVS>; | ||
}; | ||
rpmhpd_opp_svs_l1: opp5 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; | ||
}; | ||
rpmhpd_opp_nom: opp6 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_NOM>; | ||
}; | ||
rpmhpd_opp_nom_l1: opp7 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; | ||
}; | ||
rpmhpd_opp_nom_l2: opp8 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>; | ||
}; | ||
rpmhpd_opp_turbo: opp9 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; | ||
}; | ||
rpmhpd_opp_turbo_l1: opp10 { | ||
opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; | ||
}; | ||
}; | ||
}; | ||
- | | ||
// Example 2 (rpm power domain controller and OPP table): | ||
rpmpd: power-controller { | ||
compatible = "qcom,msm8996-rpmpd"; | ||
#power-domain-cells = <1>; | ||
operating-points-v2 = <&rpmpd_opp_table>; | ||
rpmpd_opp_table: opp-table { | ||
compatible = "operating-points-v2"; | ||
rpmpd_opp_low: opp1 { | ||
opp-level = <1>; | ||
}; | ||
rpmpd_opp_ret: opp2 { | ||
opp-level = <2>; | ||
}; | ||
rpmpd_opp_svs: opp3 { | ||
opp-level = <3>; | ||
}; | ||
rpmpd_opp_normal: opp4 { | ||
opp-level = <4>; | ||
}; | ||
rpmpd_opp_high: opp5 { | ||
opp-level = <5>; | ||
}; | ||
rpmpd_opp_turbo: opp6 { | ||
opp-level = <6>; | ||
}; | ||
}; | ||
}; | ||
- | | ||
// Example 3 (Client/Consumer device using OPP table): | ||
leaky-device0@12350000 { | ||
compatible = "foo,i-leak-current"; | ||
reg = <0x12350000 0x1000>; | ||
power-domains = <&rpmhpd 0>; | ||
operating-points-v2 = <&leaky_opp_table>; | ||
}; | ||
leaky_opp_table: opp-table { | ||
compatible = "operating-points-v2"; | ||
opp1 { | ||
opp-hz = /bits/ 64 <144000>; | ||
required-opps = <&rpmhpd_opp_low>; | ||
}; | ||
opp2 { | ||
opp-hz = /bits/ 64 <400000>; | ||
required-opps = <&rpmhpd_opp_ret>; | ||
}; | ||
opp3 { | ||
opp-hz = /bits/ 64 <20000000>; | ||
required-opps = <&rpmpd_opp_svs>; | ||
}; | ||
opp4 { | ||
opp-hz = /bits/ 64 <25000000>; | ||
required-opps = <&rpmpd_opp_normal>; | ||
}; | ||
}; | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.