Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
2676a72a
K
Kernel
项目概览
openeuler
/
Kernel
大约 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2676a72a
编写于
11月 27, 2020
作者:
M
Matthias Brugger
浏览文件
操作
浏览文件
下载
差异文件
Merge tag 'v5.10-next-pm-domains-stable' into HEAD
上级
63e5dcc0
343106d9
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
351 addition
and
0 deletion
+351
-0
Documentation/devicetree/bindings/power/mediatek,power-controller.yaml
.../devicetree/bindings/power/mediatek,power-controller.yaml
+293
-0
include/dt-bindings/power/mt8183-power.h
include/dt-bindings/power/mt8183-power.h
+26
-0
include/dt-bindings/power/mt8192-power.h
include/dt-bindings/power/mt8192-power.h
+32
-0
未找到文件。
Documentation/devicetree/bindings/power/mediatek,power-controller.yaml
0 → 100644
浏览文件 @
2676a72a
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML
1.2
---
$id
:
http://devicetree.org/schemas/power/mediatek,power-controller.yaml#
$schema
:
http://devicetree.org/meta-schemas/core.yaml#
title
:
Mediatek Power Domains Controller
maintainers
:
-
Weiyi Lu <weiyi.lu@mediatek.com>
-
Matthias Brugger <mbrugger@suse.com>
description
:
|
Mediatek processors include support for multiple power domains which can be
powered up/down by software based on different application scenes to save power.
IP cores belonging to a power domain should contain a 'power-domains'
property that is a phandle for SCPSYS node representing the domain.
properties
:
$nodename
:
const
:
power-controller
compatible
:
enum
:
-
mediatek,mt8173-power-controller
-
mediatek,mt8183-power-controller
-
mediatek,mt8192-power-controller
'
#power-domain-cells'
:
const
:
1
'
#address-cells'
:
const
:
1
'
#size-cells'
:
const
:
0
patternProperties
:
"
^power-domain@[0-9a-f]+$"
:
type
:
object
description
:
|
Represents the power domains within the power controller node as documented
in Documentation/devicetree/bindings/power/power-domain.yaml.
properties
:
'
#power-domain-cells'
:
description
:
Must be 0 for nodes representing a single PM domain and 1 for nodes
providing multiple PM domains.
'
#address-cells'
:
const
:
1
'
#size-cells'
:
const
:
0
reg
:
description
:
|
Power domain index. Valid values are defined in:
"include/dt-bindings/power/mt8173-power.h" - for MT8173 type power domain.
"include/dt-bindings/power/mt8183-power.h" - for MT8183 type power domain.
"include/dt-bindings/power/mt8192-power.h" - for MT8192 type power domain.
maxItems
:
1
clocks
:
description
:
|
A number of phandles to clocks that need to be enabled during domain
power-up sequencing.
clock-names
:
description
:
|
List of names of clocks, in order to match the power-up sequencing
for each power domain we need to group the clocks by name. BASIC
clocks need to be enabled before enabling the corresponding power
domain, and should not have a '-' in their name (i.e mm, mfg, venc).
SUSBYS clocks need to be enabled before releasing the bus protection,
and should contain a '-' in their name (i.e mm-0, isp-0, cam-0).
In order to follow properly the power-up sequencing, the clocks must
be specified by order, adding first the BASIC clocks followed by the
SUSBSYS clocks.
mediatek,infracfg
:
$ref
:
/schemas/types.yaml#definitions/phandle
description
:
phandle to the device containing the INFRACFG register range.
mediatek,smi
:
$ref
:
/schemas/types.yaml#definitions/phandle
description
:
phandle to the device containing the SMI register range.
patternProperties
:
"
^power-domain@[0-9a-f]+$"
:
type
:
object
description
:
|
Represents a power domain child within a power domain parent node.
properties
:
'
#power-domain-cells'
:
description
:
Must be 0 for nodes representing a single PM domain and 1 for nodes
providing multiple PM domains.
'
#address-cells'
:
const
:
1
'
#size-cells'
:
const
:
0
reg
:
maxItems
:
1
clocks
:
description
:
|
A number of phandles to clocks that need to be enabled during domain
power-up sequencing.
clock-names
:
description
:
|
List of names of clocks, in order to match the power-up sequencing
for each power domain we need to group the clocks by name. BASIC
clocks need to be enabled before enabling the corresponding power
domain, and should not have a '-' in their name (i.e mm, mfg, venc).
SUSBYS clocks need to be enabled before releasing the bus protection,
and should contain a '-' in their name (i.e mm-0, isp-0, cam-0).
In order to follow properly the power-up sequencing, the clocks must
be specified by order, adding first the BASIC clocks followed by the
SUSBSYS clocks.
mediatek,infracfg
:
$ref
:
/schemas/types.yaml#definitions/phandle
description
:
phandle to the device containing the INFRACFG register range.
mediatek,smi
:
$ref
:
/schemas/types.yaml#definitions/phandle
description
:
phandle to the device containing the SMI register range.
patternProperties
:
"
^power-domain@[0-9a-f]+$"
:
type
:
object
description
:
|
Represents a power domain child within a power domain parent node.
properties
:
'
#power-domain-cells'
:
description
:
Must be 0 for nodes representing a single PM domain and 1 for nodes
providing multiple PM domains.
'
#address-cells'
:
const
:
1
'
#size-cells'
:
const
:
0
reg
:
maxItems
:
1
clocks
:
description
:
|
A number of phandles to clocks that need to be enabled during domain
power-up sequencing.
clock-names
:
description
:
|
List of names of clocks, in order to match the power-up sequencing
for each power domain we need to group the clocks by name. BASIC
clocks need to be enabled before enabling the corresponding power
domain, and should not have a '-' in their name (i.e mm, mfg, venc).
SUSBYS clocks need to be enabled before releasing the bus protection,
and should contain a '-' in their name (i.e mm-0, isp-0, cam-0).
In order to follow properly the power-up sequencing, the clocks must
be specified by order, adding first the BASIC clocks followed by the
SUSBSYS clocks.
mediatek,infracfg
:
$ref
:
/schemas/types.yaml#definitions/phandle
description
:
phandle to the device containing the INFRACFG register range.
mediatek,smi
:
$ref
:
/schemas/types.yaml#definitions/phandle
description
:
phandle to the device containing the SMI register range.
required
:
-
reg
additionalProperties
:
false
required
:
-
reg
additionalProperties
:
false
required
:
-
reg
additionalProperties
:
false
required
:
-
compatible
additionalProperties
:
false
examples
:
-
|
#include <dt-bindings/clock/mt8173-clk.h>
#include <dt-bindings/power/mt8173-power.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
scpsys: syscon@10006000 {
compatible = "syscon", "simple-mfd";
reg = <0 0x10006000 0 0x1000>;
spm: power-controller {
compatible = "mediatek,mt8173-power-controller";
#address-cells = <1>;
#size-cells = <0>;
#power-domain-cells = <1>;
/* power domains of the SoC */
power-domain@MT8173_POWER_DOMAIN_VDEC {
reg = <MT8173_POWER_DOMAIN_VDEC>;
clocks = <&topckgen CLK_TOP_MM_SEL>;
clock-names = "mm";
#power-domain-cells = <0>;
};
power-domain@MT8173_POWER_DOMAIN_VENC {
reg = <MT8173_POWER_DOMAIN_VENC>;
clocks = <&topckgen CLK_TOP_MM_SEL>,
<&topckgen CLK_TOP_VENC_SEL>;
clock-names = "mm", "venc";
#power-domain-cells = <0>;
};
power-domain@MT8173_POWER_DOMAIN_ISP {
reg = <MT8173_POWER_DOMAIN_ISP>;
clocks = <&topckgen CLK_TOP_MM_SEL>;
clock-names = "mm";
#power-domain-cells = <0>;
};
power-domain@MT8173_POWER_DOMAIN_MM {
reg = <MT8173_POWER_DOMAIN_MM>;
clocks = <&topckgen CLK_TOP_MM_SEL>;
clock-names = "mm";
#power-domain-cells = <0>;
mediatek,infracfg = <&infracfg>;
};
power-domain@MT8173_POWER_DOMAIN_VENC_LT {
reg = <MT8173_POWER_DOMAIN_VENC_LT>;
clocks = <&topckgen CLK_TOP_MM_SEL>,
<&topckgen CLK_TOP_VENC_LT_SEL>;
clock-names = "mm", "venclt";
#power-domain-cells = <0>;
};
power-domain@MT8173_POWER_DOMAIN_AUDIO {
reg = <MT8173_POWER_DOMAIN_AUDIO>;
#power-domain-cells = <0>;
};
power-domain@MT8173_POWER_DOMAIN_USB {
reg = <MT8173_POWER_DOMAIN_USB>;
#power-domain-cells = <0>;
};
power-domain@MT8173_POWER_DOMAIN_MFG_ASYNC {
reg = <MT8173_POWER_DOMAIN_MFG_ASYNC>;
clocks = <&clk26m>;
clock-names = "mfg";
#address-cells = <1>;
#size-cells = <0>;
#power-domain-cells = <1>;
power-domain@MT8173_POWER_DOMAIN_MFG_2D {
reg = <MT8173_POWER_DOMAIN_MFG_2D>;
#address-cells = <1>;
#size-cells = <0>;
#power-domain-cells = <1>;
power-domain@MT8173_POWER_DOMAIN_MFG {
reg = <MT8173_POWER_DOMAIN_MFG>;
#power-domain-cells = <0>;
mediatek,infracfg = <&infracfg>;
};
};
};
};
};
};
include/dt-bindings/power/mt8183-power.h
0 → 100644
浏览文件 @
2676a72a
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2020 MediaTek Inc.
* Author: Weiyi Lu <weiyi.lu@mediatek.com>
*/
#ifndef _DT_BINDINGS_POWER_MT8183_POWER_H
#define _DT_BINDINGS_POWER_MT8183_POWER_H
#define MT8183_POWER_DOMAIN_AUDIO 0
#define MT8183_POWER_DOMAIN_CONN 1
#define MT8183_POWER_DOMAIN_MFG_ASYNC 2
#define MT8183_POWER_DOMAIN_MFG 3
#define MT8183_POWER_DOMAIN_MFG_CORE0 4
#define MT8183_POWER_DOMAIN_MFG_CORE1 5
#define MT8183_POWER_DOMAIN_MFG_2D 6
#define MT8183_POWER_DOMAIN_DISP 7
#define MT8183_POWER_DOMAIN_CAM 8
#define MT8183_POWER_DOMAIN_ISP 9
#define MT8183_POWER_DOMAIN_VDEC 10
#define MT8183_POWER_DOMAIN_VENC 11
#define MT8183_POWER_DOMAIN_VPU_TOP 12
#define MT8183_POWER_DOMAIN_VPU_CORE0 13
#define MT8183_POWER_DOMAIN_VPU_CORE1 14
#endif
/* _DT_BINDINGS_POWER_MT8183_POWER_H */
include/dt-bindings/power/mt8192-power.h
0 → 100644
浏览文件 @
2676a72a
/* SPDX-License-Identifier: GPL-2.0
*
* Copyright (c) 2020 MediaTek Inc.
* Author: Weiyi Lu <weiyi.lu@mediatek.com>
*/
#ifndef _DT_BINDINGS_POWER_MT8192_POWER_H
#define _DT_BINDINGS_POWER_MT8192_POWER_H
#define MT8192_POWER_DOMAIN_AUDIO 0
#define MT8192_POWER_DOMAIN_CONN 1
#define MT8192_POWER_DOMAIN_MFG0 2
#define MT8192_POWER_DOMAIN_MFG1 3
#define MT8192_POWER_DOMAIN_MFG2 4
#define MT8192_POWER_DOMAIN_MFG3 5
#define MT8192_POWER_DOMAIN_MFG4 6
#define MT8192_POWER_DOMAIN_MFG5 7
#define MT8192_POWER_DOMAIN_MFG6 8
#define MT8192_POWER_DOMAIN_DISP 9
#define MT8192_POWER_DOMAIN_IPE 10
#define MT8192_POWER_DOMAIN_ISP 11
#define MT8192_POWER_DOMAIN_ISP2 12
#define MT8192_POWER_DOMAIN_MDP 13
#define MT8192_POWER_DOMAIN_VENC 14
#define MT8192_POWER_DOMAIN_VDEC 15
#define MT8192_POWER_DOMAIN_VDEC2 16
#define MT8192_POWER_DOMAIN_CAM 17
#define MT8192_POWER_DOMAIN_CAM_RAWA 18
#define MT8192_POWER_DOMAIN_CAM_RAWB 19
#define MT8192_POWER_DOMAIN_CAM_RAWC 20
#endif
/* _DT_BINDINGS_POWER_MT8192_POWER_H */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录