Home
last modified time | relevance | path

Searched +full:rk3399 +full:- +full:pmu (Results 1 – 25 of 40) sorted by relevance

12

/kernel/linux/linux-6.6/Documentation/devicetree/bindings/power/
Drockchip-io-domain.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/power/rockchip-io-domain.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Heiko Stuebner <heiko@sntech.de>
42 to report their voltage. The IO Voltage Domain for any non-specified
48 - rockchip,px30-io-voltage-domain
49 - rockchip,px30-pmu-io-voltage-domain
50 - rockchip,rk3188-io-voltage-domain
51 - rockchip,rk3228-io-voltage-domain
[all …]
Drockchip,power-controller.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/power/rockchip,power-controller.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Elaine Zhang <zhangqing@rock-chips.com>
11 - Heiko Stuebner <heiko@sntech.de>
18 Power domains contained within power-controller node are
20 Documentation/devicetree/bindings/power/power-domain.yaml.
23 "power-domains" property that is a phandle for the
28 const: power-controller
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/
Drockchip-io-domain.txt2 -------------------------------------
9 - If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then
18 - any logic for deciding what voltage we should set regulators to
19 - any logic for deciding whether regulators (or internal SoC blocks)
33 - compatible: should be one of:
34 - "rockchip,px30-io-voltage-domain" for px30
35 - "rockchip,px30-pmu-io-voltage-domain" for px30 pmu-domains
36 - "rockchip,rk3188-io-voltage-domain" for rk3188
37 - "rockchip,rk3228-io-voltage-domain" for rk3228
38 - "rockchip,rk3288-io-voltage-domain" for rk3288
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/devfreq/event/
Drockchip-dfi.txt2 * Rockchip rk3399 DFI device
5 - compatible: Must be "rockchip,rk3399-dfi".
6 - reg: physical base address of each DFI and length of memory mapped region
7 - rockchip,pmu: phandle to the syscon managing the "pmu general register files"
8 - clocks: phandles for clock specified in "clock-names" property
9 - clock-names : the name of clock used by the DFI, must be "pclk_ddr_mon";
13 compatible = "rockchip,rk3399-dfi";
15 rockchip,pmu = <&pmugrf>;
17 clock-names = "pclk_ddr_mon";
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/devfreq/event/
Drockchip-dfi.txt2 * Rockchip rk3399 DFI device
5 - compatible: Must be "rockchip,rk3399-dfi".
6 - reg: physical base address of each DFI and length of memory mapped region
7 - rockchip,pmu: phandle to the syscon managing the "pmu general register files"
8 - clocks: phandles for clock specified in "clock-names" property
9 - clock-names : the name of clock used by the DFI, must be "pclk_ddr_mon";
13 compatible = "rockchip,rk3399-dfi";
15 rockchip,pmu = <&pmugrf>;
17 clock-names = "pclk_ddr_mon";
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/arm/rockchip/
Dpmu.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/arm/rockchip/pmu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Rockchip Power Management Unit (PMU)
10 - Elaine Zhang <zhangqing@rock-chips.com>
11 - Heiko Stuebner <heiko@sntech.de>
14 The PMU is used to turn on and off different power domains of the SoCs.
22 - rockchip,px30-pmu
23 - rockchip,rk3066-pmu
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/clock/
Drockchip,rk3399-cru.txt1 * Rockchip RK3399 Clock and Reset Unit
3 The RK3399 clock controller generates and supplies clock to various
9 - compatible: PMU for CRU should be "rockchip,rk3399-pmucru"
10 - compatible: CRU should be "rockchip,rk3399-cru"
11 - reg: physical base address of the controller and length of memory mapped
13 - #clock-cells: should be 1.
14 - #reset-cells: should be 1.
18 - rockchip,grf: phandle to the syscon managing the "general register files".
24 preprocessor macros in the dt-bindings/clock/rk3399-cru.h headers and can be
32 clock-output-names:
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/pinctrl/
Drockchip,pinctrl.txt8 Please refer to pinctrl-bindings.txt in this directory for details of the
16 settings such as pull-up, etc.
19 defined as gpio sub-nodes of the pinmux controller.
22 - compatible: should be
23 "rockchip,px30-pinctrl": for Rockchip PX30
24 "rockchip,rv1108-pinctrl": for Rockchip RV1108
25 "rockchip,rk2928-pinctrl": for Rockchip RK2928
26 "rockchip,rk3066a-pinctrl": for Rockchip RK3066a
27 "rockchip,rk3066b-pinctrl": for Rockchip RK3066b
28 "rockchip,rk3128-pinctrl": for Rockchip RK3128
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/memory-controllers/
Drockchip,rk3399-dmc.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/memory-controllers/rockchip,rk3399-dmc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Rockchip rk3399 DMC (Dynamic Memory Controller) device
10 - Brian Norris <briannorris@chromium.org>
15 - rockchip,rk3399-dmc
17 devfreq-events:
21 Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt.
26 clock-names:
[all …]
/kernel/linux/linux-6.6/arch/arm64/boot/dts/rockchip/
Drk3399.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/rk3399-cru.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11 #include <dt-bindings/power/rk3399-power.h>
12 #include <dt-bindings/thermal/thermal.h>
15 compatible = "rockchip,rk3399";
17 interrupt-parent = <&gic>;
[all …]
Drk356x.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/rk3568-cru.h>
7 #include <dt-bindings/interrupt-controller/arm-gic.h>
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include <dt-bindings/phy/phy.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11 #include <dt-bindings/power/rk3568-power.h>
12 #include <dt-bindings/soc/rockchip,boot-mode.h>
13 #include <dt-bindings/thermal/thermal.h>
16 interrupt-parent = <&gic>;
[all …]
Drk3588s.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/rockchip,rk3588-cru.h>
7 #include <dt-bindings/interrupt-controller/arm-gic.h>
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include <dt-bindings/power/rk3588-power.h>
10 #include <dt-bindings/reset/rockchip,rk3588-cru.h>
11 #include <dt-bindings/phy/phy.h>
12 #include <dt-bindings/ata/ahci.h>
17 interrupt-parent = <&gic>;
18 #address-cells = <2>;
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/devfreq/
Drk3399_dmc.txt1 * Rockchip rk3399 DMC (Dynamic Memory Controller) device
4 - compatible: Must be "rockchip,rk3399-dmc".
5 - devfreq-events: Node to get DDR loading, Refer to
7 rockchip-dfi.txt
8 - clocks: Phandles for clock specified in "clock-names" property
9 - clock-names : The name of clock used by the DFI, must be
11 - operating-points-v2: Refer to Documentation/devicetree/bindings/opp/opp.txt
13 - center-supply: DMC supply node.
14 - status: Marks the node enabled/disabled.
17 - interrupts: The CPU interrupt number. The interrupt specifier
[all …]
/kernel/linux/linux-5.10/arch/arm64/boot/dts/rockchip/
Drk3399.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/rk3399-cru.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11 #include <dt-bindings/power/rk3399-power.h>
12 #include <dt-bindings/thermal/thermal.h>
15 compatible = "rockchip,rk3399";
17 interrupt-parent = <&gic>;
[all …]
/kernel/linux/linux-5.10/drivers/soc/rockchip/
Dio-domain.c1 // SPDX-License-Identifier: GPL-2.0-only
26 * - If the voltage on a rail is above the "1.8" voltage (1.98V) we'll tell the
28 * - If the voltage on a rail is above the "3.3" voltage (3.6V) we'll consider
82 struct rockchip_iodomain *iod = supply->iod; in rockchip_iodomain_write()
88 val <<= supply->idx; in rockchip_iodomain_write()
90 /* apply hiword-mask */ in rockchip_iodomain_write()
91 val |= (BIT(supply->idx) << 16); in rockchip_iodomain_write()
93 ret = regmap_write(iod->grf, iod->soc_data->grf_offset, val); in rockchip_iodomain_write()
95 dev_err(iod->dev, "Couldn't write to GRF\n"); in rockchip_iodomain_write()
125 uV = max_t(unsigned long, pvc_data->old_uV, pvc_data->max_uV); in rockchip_iodomain_notify()
[all …]
Dpm_domains.c1 // SPDX-License-Identifier: GPL-2.0-only
19 #include <dt-bindings/power/px30-power.h>
20 #include <dt-bindings/power/rk3036-power.h>
21 #include <dt-bindings/power/rk3066-power.h>
22 #include <dt-bindings/power/rk3128-power.h>
23 #include <dt-bindings/power/rk3188-power.h>
24 #include <dt-bindings/power/rk3228-power.h>
25 #include <dt-bindings/power/rk3288-power.h>
26 #include <dt-bindings/power/rk3328-power.h>
27 #include <dt-bindings/power/rk3366-power.h>
[all …]
/kernel/linux/linux-6.6/drivers/soc/rockchip/
Dio-domain.c1 // SPDX-License-Identifier: GPL-2.0-only
26 * - If the voltage on a rail is above the "1.8" voltage (1.98V) we'll tell the
28 * - If the voltage on a rail is above the "3.3" voltage (3.6V) we'll consider
84 struct rockchip_iodomain *iod = supply->iod; in rk3568_iodomain_write()
89 switch (supply->idx) { in rk3568_iodomain_write()
93 b = supply->idx; in rk3568_iodomain_write()
95 b = supply->idx + 4; in rk3568_iodomain_write()
98 regmap_write(iod->grf, RK3568_PMU_GRF_IO_VSEL2, val0); in rk3568_iodomain_write()
99 regmap_write(iod->grf, RK3568_PMU_GRF_IO_VSEL2, val1); in rk3568_iodomain_write()
109 b = supply->idx - 1; in rk3568_iodomain_write()
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/pinctrl/
Drockchip,pinctrl.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Heiko Stuebner <heiko@sntech.de>
18 Please refer to pinctrl-bindings.txt in this directory for details of the
26 various pad settings such as pull-up, etc.
29 defined as gpio sub-nodes of the pinmux controller.
34 - rockchip,px30-pinctrl
35 - rockchip,rk2928-pinctrl
36 - rockchip,rk3036-pinctrl
[all …]
/kernel/linux/linux-6.6/drivers/devfreq/
Drk3399_dmc.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Author: Lin Huang <hl@rock-chips.com>
7 #include <linux/arm-smccc.h>
12 #include <linux/devfreq-event.h>
74 unsigned long old_clk_rate = dmcfreq->rate; in rk3399_dmcfreq_target()
92 if (dmcfreq->rate == target_rate) in rk3399_dmcfreq_target()
95 mutex_lock(&dmcfreq->lock); in rk3399_dmcfreq_target()
98 * Ensure power-domain transitions don't interfere with ARM Trusted in rk3399_dmcfreq_target()
99 * Firmware power-domain idling. in rk3399_dmcfreq_target()
103 dev_err(dev, "Failed to block PMU: %d\n", err); in rk3399_dmcfreq_target()
[all …]
/kernel/linux/linux-6.6/arch/arm/boot/dts/rockchip/
Drv1126.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/rockchip,rv1126-cru.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11 #include <dt-bindings/power/rockchip,rv1126-power.h>
12 #include <dt-bindings/soc/rockchip,boot-mode.h>
15 #address-cells = <1>;
16 #size-cells = <1>;
[all …]
/kernel/linux/linux-6.6/drivers/pmdomain/rockchip/
Dpm-domains.c1 // SPDX-License-Identifier: GPL-2.0-only
21 #include <dt-bindings/power/px30-power.h>
22 #include <dt-bindings/power/rockchip,rv1126-power.h>
23 #include <dt-bindings/power/rk3036-power.h>
24 #include <dt-bindings/power/rk3066-power.h>
25 #include <dt-bindings/power/rk3128-power.h>
26 #include <dt-bindings/power/rk3188-power.h>
27 #include <dt-bindings/power/rk3228-power.h>
28 #include <dt-bindings/power/rk3288-power.h>
29 #include <dt-bindings/power/rk3328-power.h>
[all …]
/kernel/linux/linux-5.10/drivers/devfreq/
Drk3399_dmc.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Author: Lin Huang <hl@rock-chips.com>
7 #include <linux/arm-smccc.h>
11 #include <linux/devfreq-event.h>
79 unsigned long old_clk_rate = dmcfreq->rate; in rk3399_dmcfreq_target()
93 if (dmcfreq->rate == target_rate) in rk3399_dmcfreq_target()
96 mutex_lock(&dmcfreq->lock); in rk3399_dmcfreq_target()
98 if (dmcfreq->regmap_pmu) { in rk3399_dmcfreq_target()
99 if (target_rate >= dmcfreq->odt_dis_freq) in rk3399_dmcfreq_target()
103 * This makes a SMC call to the TF-A to set the DDR PD in rk3399_dmcfreq_target()
[all …]
/kernel/linux/linux-5.10/drivers/clk/rockchip/
Dclk-rk3399.c1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * Author: Xing Zheng <zhengxing@rock-chips.com>
7 #include <linux/clk-provider.h>
15 #include <dt-bindings/clock/rk3399-cru.h>
209 /* PMU CRU parents */
400 * CRU Clock-Architecture
1252 * pclkin_cifinv --|-------\
1253 * |GSC20_9|-- pclkin_cifmux -- |G27_6| -- pclkin_isp1_wrapper
1254 * pclkin_cif --|-------/
1300 /* Watchdog pclk is controlled by RK3399 SECURE_GRF_SOC_CON3[8]. */
[all …]
/kernel/linux/linux-6.6/drivers/devfreq/event/
Drockchip-dfi.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Author: Lin Huang <hl@rock-chips.com>
8 #include <linux/devfreq-event.h>
63 void __iomem *dfi_regs = info->regs; in rockchip_dfi_start_hardware_counter()
68 regmap_read(info->regmap_pmu, RK3399_PMUGRF_OS_REG2, &val); in rockchip_dfi_start_hardware_counter()
88 void __iomem *dfi_regs = info->regs; in rockchip_dfi_stop_hardware_counter()
98 void __iomem *dfi_regs = info->regs; in rockchip_dfi_get_busier_ch()
104 info->ch_usage[i].access = readl_relaxed(dfi_regs + in rockchip_dfi_get_busier_ch()
106 info->ch_usage[i].total = readl_relaxed(dfi_regs + in rockchip_dfi_get_busier_ch()
108 tmp = info->ch_usage[i].access; in rockchip_dfi_get_busier_ch()
[all …]
/kernel/linux/linux-5.10/drivers/devfreq/event/
Drockchip-dfi.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Author: Lin Huang <hl@rock-chips.com>
8 #include <linux/devfreq-event.h>
63 void __iomem *dfi_regs = info->regs; in rockchip_dfi_start_hardware_counter()
68 regmap_read(info->regmap_pmu, RK3399_PMUGRF_OS_REG2, &val); in rockchip_dfi_start_hardware_counter()
88 void __iomem *dfi_regs = info->regs; in rockchip_dfi_stop_hardware_counter()
98 void __iomem *dfi_regs = info->regs; in rockchip_dfi_get_busier_ch()
104 info->ch_usage[i].access = readl_relaxed(dfi_regs + in rockchip_dfi_get_busier_ch()
106 info->ch_usage[i].total = readl_relaxed(dfi_regs + in rockchip_dfi_get_busier_ch()
108 tmp = info->ch_usage[i].access; in rockchip_dfi_get_busier_ch()
[all …]

12