RE: [PATCH 5/7] arm64: dts: imx8mm: add GPC power domains

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Adam Ford <aford173@xxxxxxxxx>
> Sent: Thursday, December 5, 2019 10:19 AM
> To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: Adam Ford <aford173@xxxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>;
> Mark Rutland <mark.rutland@xxxxxxx>; Shawn Guo
> <shawnguo@xxxxxxxxxx>; Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>;
> Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>; Fabio Estevam
> <festevam@xxxxxxxxx>; dl-linux-imx <linux-imx@xxxxxxx>;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH 5/7] arm64: dts: imx8mm: add GPC power domains
> 
> There is a power domain controller on the i.XM8M Mini used for handling
> interrupts and controlling certain peripherals like USB OTG and PCIe, which
> are currently unavailable.
> 
> This patch enables support the controller itself to the help facilitate enabling
> additional peripherals.
> 
> Signed-off-by: Adam Ford <aford173@xxxxxxxxx>
> ---
>  arch/arm64/boot/dts/freescale/imx8mm.dtsi | 82
> ++++++++++++++++++++++-
>  1 file changed, 81 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> index 23c8fad7932b..d05c5b617a4d 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> @@ -4,6 +4,7 @@
>   */
> 
>  #include <dt-bindings/clock/imx8mm-clock.h>
> +#include <dt-bindings/power/imx8m-power.h>
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/input/input.h>
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
> @@ -13,7 +14,7 @@
> 
>  / {
>  	compatible = "fsl,imx8mm";
> -	interrupt-parent = <&gic>;
> +	interrupt-parent = <&gpc>;

NACK, for imx8mm, imx8mn & future i.MX8M SOC, we don't treat GPC as interrupt controller in linux anymore.
Above change will break the low power mode support(suspend/resume)

BR
Jacky Bai

>  	#address-cells = <2>;
>  	#size-cells = <2>;
> 
> @@ -495,6 +496,85 @@
>  				interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
>  				#reset-cells = <1>;
>  			};
> +
> +			gpc: gpc@303a0000 {
> +				compatible = "fsl,imx8mm-gpc";
> +				reg = <0x303a0000 0x10000>;
> +				interrupt-parent = <&gic>;
> +				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
> +				interrupt-controller;
> +				#interrupt-cells = <3>;
> +
> +				pgc {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					pgc_mipi: power-domain@0 {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_DOMAIN_MIPI>;
> +					};
> +
> +					pgc_pcie: power-domain@1 {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_DOMAIN_PCIE>;
> +					};
> +
> +					pgc_otg1: power-domain@2 {
> +						#power-domain-cells = <0>;
> +						reg =
> <IMX8MM_POWER_DOMAIN_USB_OTG1>;
> +					};
> +
> +					pgc_otg2: power-domain@3 {
> +						#power-domain-cells = <0>;
> +						reg =
> <IMX8MM_POWER_DOMAIN_USB_OTG2>;
> +					};
> +
> +					pgc_ddr1: power-domain@4 {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_DOMAIN_DDR1>;
> +					};
> +
> +					pgc_gpu2d: power-domain@5 {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_DOMAIN_GPU2D>;
> +					};
> +
> +					pgc_gpu: power-domain@6 {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_DOMAIN_GPU>;
> +					};
> +
> +					pgc_vpu: power-domain@7 {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_DOMAIN_VPU>;
> +					};
> +
> +					pgc_gpu3d: power-domain@8 {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_DOMAIN_GPU3D>;
> +					};
> +
> +					pgc_disp: power-domain@9 {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_DOMAIN_DISP>;
> +					};
> +
> +					pgc_vpu_g1: power-domain@a {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_VPU_G1>;
> +					};
> +
> +					pgc_vpu_g2: power-domain@b {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_VPU_G2>;
> +					};
> +
> +					pgc_vpu_h1: power-domain@c {
> +						#power-domain-cells = <0>;
> +						reg = <IMX8MM_POWER_VPU_H1>;
> +					};
> +				};
> +			};
>  		};
> 
>  		aips2: bus@30400000 {
> --
> 2.20.1





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux