* [PATCH v1 0/2] Add imx8m power domain driver @ 2021-04-02 16:45 ` Adrien Grassein 0 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 16:45 UTC (permalink / raw) Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx, lgirdwood, broonie, arnd, peng.fan, Anson.Huang, devicetree, linux-arm-kernel, linux-kernel, Adrien Grassein Hi, this patch et aims to add the support of the i.MX 8 Power Domain driver. Some devices (like usbotg2) can't work without this patch as their attached power domain are down. The original drivr was taken from le imx kernel and aapted to fit with the actual mainline (minor fixes). Thanks, Adrien Grassein (2): dt-bindings: power: Add documentation for imx8m power domain driver soc: imx: add Power Domain driver for i.MX8M(M|N|P) .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ MAINTAINERS | 10 + drivers/soc/imx/Kconfig | 7 + drivers/soc/imx/Makefile | 1 + drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ include/dt-bindings/power/imx8mm-power.h | 21 ++ include/dt-bindings/power/imx8mn-power.h | 15 ++ include/dt-bindings/power/imx8mp-power.h | 28 +++ include/soc/imx/imx_sip.h | 12 + 9 files changed, 416 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml create mode 100644 drivers/soc/imx/imx8m_pm_domains.c create mode 100644 include/dt-bindings/power/imx8mm-power.h create mode 100644 include/dt-bindings/power/imx8mn-power.h create mode 100644 include/dt-bindings/power/imx8mp-power.h create mode 100644 include/soc/imx/imx_sip.h -- 2.25.1 ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v1 0/2] Add imx8m power domain driver @ 2021-04-02 16:45 ` Adrien Grassein 0 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 16:45 UTC (permalink / raw) Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx, lgirdwood, broonie, arnd, peng.fan, Anson.Huang, devicetree, linux-arm-kernel, linux-kernel, Adrien Grassein Hi, this patch et aims to add the support of the i.MX 8 Power Domain driver. Some devices (like usbotg2) can't work without this patch as their attached power domain are down. The original drivr was taken from le imx kernel and aapted to fit with the actual mainline (minor fixes). Thanks, Adrien Grassein (2): dt-bindings: power: Add documentation for imx8m power domain driver soc: imx: add Power Domain driver for i.MX8M(M|N|P) .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ MAINTAINERS | 10 + drivers/soc/imx/Kconfig | 7 + drivers/soc/imx/Makefile | 1 + drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ include/dt-bindings/power/imx8mm-power.h | 21 ++ include/dt-bindings/power/imx8mn-power.h | 15 ++ include/dt-bindings/power/imx8mp-power.h | 28 +++ include/soc/imx/imx_sip.h | 12 + 9 files changed, 416 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml create mode 100644 drivers/soc/imx/imx8m_pm_domains.c create mode 100644 include/dt-bindings/power/imx8mm-power.h create mode 100644 include/dt-bindings/power/imx8mn-power.h create mode 100644 include/dt-bindings/power/imx8mp-power.h create mode 100644 include/soc/imx/imx_sip.h -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v1 1/2] dt-bindings: power: Add documentation for imx8m power domain driver 2021-04-02 16:45 ` Adrien Grassein @ 2021-04-02 16:45 ` Adrien Grassein -1 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 16:45 UTC (permalink / raw) Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx, lgirdwood, broonie, arnd, peng.fan, Anson.Huang, devicetree, linux-arm-kernel, linux-kernel, Adrien Grassein Add documentation for the imx8m(m|n|p) power domain driver. Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com> --- .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++++++++++++++ MAINTAINERS | 8 ++ include/dt-bindings/power/imx8mm-power.h | 21 +++++ include/dt-bindings/power/imx8mn-power.h | 15 ++++ include/dt-bindings/power/imx8mp-power.h | 28 ++++++ 5 files changed, 161 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml create mode 100644 include/dt-bindings/power/imx8mm-power.h create mode 100644 include/dt-bindings/power/imx8mn-power.h create mode 100644 include/dt-bindings/power/imx8mp-power.h diff --git a/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml b/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml new file mode 100644 index 000000000000..8b4811aa80eb --- /dev/null +++ b/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/fsl,imx-power-domain.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX 8mm, 8mn and 8mp Power Domain + +maintainers: + - Adrien Grassein <adrien.grassein@gmail.com> + +description: |+ + i.MX processors include support for multiple power domains which are used + to gate power to one or more peripherals on the processor. + +allOf: + - $ref: power-domain.yaml# + +properties: + compatible: + enum: + - fsl,imx8mm-pm-domain + - fsl,imx8mn-pm-domain + - fsl,imx8mp-pm-domain + + domain-name: + $ref: /schemas/types.yaml#/definitions/string + description: | + Human readable string with domain name. Will be visible in userspace + to let user to distinguish between multiple domains in SoC. + + domain-index: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Power domain index. Valid values are defined in + include/dt-bindings/power/imx8mm-power.h for i.MX 8mm + include/dt-bindings/power/imx8mn-power.h for i.MX 8mn + include/dt-bindings/power/imx8mp-power.h for i.MX 8mp + + maxItems: 1 + + clocks: + description: | + A number of phandles to clocks that need to be enabled during domain + power-up sequencing to ensure reset propagation into devices located + inside this power domain. + minItems: 1 + maxItems: 6 + + power-supply: + description: + A phandle to a supply to enable when powering on the domain. + + fsl,active-wakeup: + $ref: /schemas/types.yaml#/definitions/flag + description: + Instructs genpd to keep the PM domain powered on. + + fsl,rpm-always-on: + $ref: /schemas/types.yaml#/definitions/flag + description: + Instructs genpd to always keep the PM domain powered on except + for system suspend. + + "#power-domain-cells": + const: 0 + + power-domains: + maxItems: 1 + +required: + - compatible + - domain-name + - domain-index + +additionalProperties: false + +examples: + - | + #include <dt-bindings/power/imx8mm-power.h> + #include <dt-bindings/clock/imx8mm-clock.h> + + hsiomix_pd: power-domain-hsio { + compatible = "fsl,imx8mm-pm-domain"; + domain-index = <IMX8MM_POWER_DOMAIN_HSIOMIX>; + #power-domain-cells = <0>; + domain-name = "hsiomix"; + clocks = <&clk IMX8MM_CLK_USB1_CTRL_ROOT>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 38d823d72e52..97536afca0e1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13010,6 +13010,14 @@ L: linux-imx@nxp.com S: Maintained F: drivers/clk/imx/ +NXP i.MX 8M(M|N|P) POWER DOMAIN DRIVER +M: Adrien Grassein <adrien.grassein@gmail.com> +S: Maintained +F: Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml +F: include/dt-bindings/power/imx8mm-power.h +F: include/dt-bindings/power/imx8mn-power.h +F: include/dt-bindings/power/imx8mp-power.h + NXP i.MX 8MQ DCSS DRIVER M: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com> R: Lucas Stach <l.stach@pengutronix.de> diff --git a/include/dt-bindings/power/imx8mm-power.h b/include/dt-bindings/power/imx8mm-power.h new file mode 100644 index 000000000000..bec25fd32394 --- /dev/null +++ b/include/dt-bindings/power/imx8mm-power.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +/* + * Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com> + */ + +#ifndef __DT_BINDINGS_IMX8MM_POWER_H__ +#define __DT_BINDINGS_IMX8MM_POWER_H__ + +#define IMX8MM_POWER_DOMAIN_HSIOMIX 0 +#define IMX8MM_POWER_DOMAIN_PCIE1 1 +#define IMX8MM_POWER_DOMAIN_USB_OTG1 2 +#define IMX8MM_POWER_DOMAIN_USB_OTG2 3 +#define IMX8MM_POWER_DOMAIN_GPU 4 +#define IMX8MM_POWER_DOMAIN_VPU 5 +#define IMX8MM_POWER_DOMAIN_VPU_G1 6 +#define IMX8MM_POWER_DOMAIN_VPU_G2 7 +#define IMX8MM_POWER_DOMAIN_VPU_H1 8 +#define IMX8MM_POWER_DOMAIN_DISPLAY 9 +#define IMX8MM_POWER_DOMAIN_MIPI 10 + +#endif diff --git a/include/dt-bindings/power/imx8mn-power.h b/include/dt-bindings/power/imx8mn-power.h new file mode 100644 index 000000000000..dfa0711171cd --- /dev/null +++ b/include/dt-bindings/power/imx8mn-power.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +/* + * Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com> + */ + +#ifndef __DT_BINDINGS_IMX8MN_POWER_H__ +#define __DT_BINDINGS_IMX8MN_POWER_H__ + +#define IMX8MN_POWER_DOMAIN_HSIOMIX 0 +#define IMX8MN_POWER_DOMAIN_USB_OTG1 2 +#define IMX8MN_POWER_DOMAIN_GPU 4 +#define IMX8MN_POWER_DOMAIN_DISPLAY 9 +#define IMX8MN_POWER_DOMAIN_MIPI 10 + +#endif diff --git a/include/dt-bindings/power/imx8mp-power.h b/include/dt-bindings/power/imx8mp-power.h new file mode 100644 index 000000000000..660e6b7d6c69 --- /dev/null +++ b/include/dt-bindings/power/imx8mp-power.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +/* + * Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com> + */ + +#ifndef __DT_BINDINGS_IMX8MP_POWER_H__ +#define __DT_BINDINGS_IMX8MP_POWER_H__ + +#define IMX8MP_POWER_DOMAIN_HSIOMIX 0 +#define IMX8MP_POWER_DOMAIN_PCIE1 1 +#define IMX8MP_POWER_DOMAIN_USB_OTG1 2 +#define IMX8MP_POWER_DOMAIN_USB_OTG2 3 +#define IMX8MP_POWER_DOMAIN_MLMIX 4 +#define IMX8MP_POWER_DOMAIN_AUDIOMIX 5 +#define IMX8MP_POWER_DOMAIN_GPU_MIX 6 +#define IMX8MP_POWER_DOMAIN_GPU_2D 7 +#define IMX8MP_POWER_DOMAIN_GPU_3D 8 +#define IMX8MP_POWER_DOMAIN_VPUMIX 9 +#define IMX8MP_POWER_DOMAIN_G1 10 +#define IMX8MP_POWER_DOMAIN_G2 11 +#define IMX8MP_POWER_DOMAIN_H1 12 +#define IMX8MP_POWER_MEDIAMIX 13 +#define IMX8MP_ISP_DWP 14 +#define IMX8MP_MIPI_PHY1 15 +#define IMX8MP_MIPI_PHY2 16 +#define IMX8MP_HDMI_MIX 17 +#define IMX8MP_HDMI_PHY 18 +#endif -- 2.25.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 1/2] dt-bindings: power: Add documentation for imx8m power domain driver @ 2021-04-02 16:45 ` Adrien Grassein 0 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 16:45 UTC (permalink / raw) Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx, lgirdwood, broonie, arnd, peng.fan, Anson.Huang, devicetree, linux-arm-kernel, linux-kernel, Adrien Grassein Add documentation for the imx8m(m|n|p) power domain driver. Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com> --- .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++++++++++++++ MAINTAINERS | 8 ++ include/dt-bindings/power/imx8mm-power.h | 21 +++++ include/dt-bindings/power/imx8mn-power.h | 15 ++++ include/dt-bindings/power/imx8mp-power.h | 28 ++++++ 5 files changed, 161 insertions(+) create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml create mode 100644 include/dt-bindings/power/imx8mm-power.h create mode 100644 include/dt-bindings/power/imx8mn-power.h create mode 100644 include/dt-bindings/power/imx8mp-power.h diff --git a/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml b/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml new file mode 100644 index 000000000000..8b4811aa80eb --- /dev/null +++ b/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/power/fsl,imx-power-domain.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX 8mm, 8mn and 8mp Power Domain + +maintainers: + - Adrien Grassein <adrien.grassein@gmail.com> + +description: |+ + i.MX processors include support for multiple power domains which are used + to gate power to one or more peripherals on the processor. + +allOf: + - $ref: power-domain.yaml# + +properties: + compatible: + enum: + - fsl,imx8mm-pm-domain + - fsl,imx8mn-pm-domain + - fsl,imx8mp-pm-domain + + domain-name: + $ref: /schemas/types.yaml#/definitions/string + description: | + Human readable string with domain name. Will be visible in userspace + to let user to distinguish between multiple domains in SoC. + + domain-index: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Power domain index. Valid values are defined in + include/dt-bindings/power/imx8mm-power.h for i.MX 8mm + include/dt-bindings/power/imx8mn-power.h for i.MX 8mn + include/dt-bindings/power/imx8mp-power.h for i.MX 8mp + + maxItems: 1 + + clocks: + description: | + A number of phandles to clocks that need to be enabled during domain + power-up sequencing to ensure reset propagation into devices located + inside this power domain. + minItems: 1 + maxItems: 6 + + power-supply: + description: + A phandle to a supply to enable when powering on the domain. + + fsl,active-wakeup: + $ref: /schemas/types.yaml#/definitions/flag + description: + Instructs genpd to keep the PM domain powered on. + + fsl,rpm-always-on: + $ref: /schemas/types.yaml#/definitions/flag + description: + Instructs genpd to always keep the PM domain powered on except + for system suspend. + + "#power-domain-cells": + const: 0 + + power-domains: + maxItems: 1 + +required: + - compatible + - domain-name + - domain-index + +additionalProperties: false + +examples: + - | + #include <dt-bindings/power/imx8mm-power.h> + #include <dt-bindings/clock/imx8mm-clock.h> + + hsiomix_pd: power-domain-hsio { + compatible = "fsl,imx8mm-pm-domain"; + domain-index = <IMX8MM_POWER_DOMAIN_HSIOMIX>; + #power-domain-cells = <0>; + domain-name = "hsiomix"; + clocks = <&clk IMX8MM_CLK_USB1_CTRL_ROOT>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 38d823d72e52..97536afca0e1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13010,6 +13010,14 @@ L: linux-imx@nxp.com S: Maintained F: drivers/clk/imx/ +NXP i.MX 8M(M|N|P) POWER DOMAIN DRIVER +M: Adrien Grassein <adrien.grassein@gmail.com> +S: Maintained +F: Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml +F: include/dt-bindings/power/imx8mm-power.h +F: include/dt-bindings/power/imx8mn-power.h +F: include/dt-bindings/power/imx8mp-power.h + NXP i.MX 8MQ DCSS DRIVER M: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com> R: Lucas Stach <l.stach@pengutronix.de> diff --git a/include/dt-bindings/power/imx8mm-power.h b/include/dt-bindings/power/imx8mm-power.h new file mode 100644 index 000000000000..bec25fd32394 --- /dev/null +++ b/include/dt-bindings/power/imx8mm-power.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +/* + * Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com> + */ + +#ifndef __DT_BINDINGS_IMX8MM_POWER_H__ +#define __DT_BINDINGS_IMX8MM_POWER_H__ + +#define IMX8MM_POWER_DOMAIN_HSIOMIX 0 +#define IMX8MM_POWER_DOMAIN_PCIE1 1 +#define IMX8MM_POWER_DOMAIN_USB_OTG1 2 +#define IMX8MM_POWER_DOMAIN_USB_OTG2 3 +#define IMX8MM_POWER_DOMAIN_GPU 4 +#define IMX8MM_POWER_DOMAIN_VPU 5 +#define IMX8MM_POWER_DOMAIN_VPU_G1 6 +#define IMX8MM_POWER_DOMAIN_VPU_G2 7 +#define IMX8MM_POWER_DOMAIN_VPU_H1 8 +#define IMX8MM_POWER_DOMAIN_DISPLAY 9 +#define IMX8MM_POWER_DOMAIN_MIPI 10 + +#endif diff --git a/include/dt-bindings/power/imx8mn-power.h b/include/dt-bindings/power/imx8mn-power.h new file mode 100644 index 000000000000..dfa0711171cd --- /dev/null +++ b/include/dt-bindings/power/imx8mn-power.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +/* + * Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com> + */ + +#ifndef __DT_BINDINGS_IMX8MN_POWER_H__ +#define __DT_BINDINGS_IMX8MN_POWER_H__ + +#define IMX8MN_POWER_DOMAIN_HSIOMIX 0 +#define IMX8MN_POWER_DOMAIN_USB_OTG1 2 +#define IMX8MN_POWER_DOMAIN_GPU 4 +#define IMX8MN_POWER_DOMAIN_DISPLAY 9 +#define IMX8MN_POWER_DOMAIN_MIPI 10 + +#endif diff --git a/include/dt-bindings/power/imx8mp-power.h b/include/dt-bindings/power/imx8mp-power.h new file mode 100644 index 000000000000..660e6b7d6c69 --- /dev/null +++ b/include/dt-bindings/power/imx8mp-power.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ +/* + * Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com> + */ + +#ifndef __DT_BINDINGS_IMX8MP_POWER_H__ +#define __DT_BINDINGS_IMX8MP_POWER_H__ + +#define IMX8MP_POWER_DOMAIN_HSIOMIX 0 +#define IMX8MP_POWER_DOMAIN_PCIE1 1 +#define IMX8MP_POWER_DOMAIN_USB_OTG1 2 +#define IMX8MP_POWER_DOMAIN_USB_OTG2 3 +#define IMX8MP_POWER_DOMAIN_MLMIX 4 +#define IMX8MP_POWER_DOMAIN_AUDIOMIX 5 +#define IMX8MP_POWER_DOMAIN_GPU_MIX 6 +#define IMX8MP_POWER_DOMAIN_GPU_2D 7 +#define IMX8MP_POWER_DOMAIN_GPU_3D 8 +#define IMX8MP_POWER_DOMAIN_VPUMIX 9 +#define IMX8MP_POWER_DOMAIN_G1 10 +#define IMX8MP_POWER_DOMAIN_G2 11 +#define IMX8MP_POWER_DOMAIN_H1 12 +#define IMX8MP_POWER_MEDIAMIX 13 +#define IMX8MP_ISP_DWP 14 +#define IMX8MP_MIPI_PHY1 15 +#define IMX8MP_MIPI_PHY2 16 +#define IMX8MP_HDMI_MIX 17 +#define IMX8MP_HDMI_PHY 18 +#endif -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 2/2] soc: imx: add Power Domain driver for i.MX8M(M|N|P) 2021-04-02 16:45 ` Adrien Grassein @ 2021-04-02 16:45 ` Adrien Grassein -1 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 16:45 UTC (permalink / raw) Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx, lgirdwood, broonie, arnd, peng.fan, Anson.Huang, devicetree, linux-arm-kernel, linux-kernel, Adrien Grassein Add code allowing to control the power domain of some i.MX8 socs. Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com> --- MAINTAINERS | 2 + drivers/soc/imx/Kconfig | 7 + drivers/soc/imx/Makefile | 1 + drivers/soc/imx/imx8m_pm_domains.c | 233 +++++++++++++++++++++++++++++ include/soc/imx/imx_sip.h | 12 ++ 5 files changed, 255 insertions(+) create mode 100644 drivers/soc/imx/imx8m_pm_domains.c create mode 100644 include/soc/imx/imx_sip.h diff --git a/MAINTAINERS b/MAINTAINERS index 97536afca0e1..06e1568d003b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13014,9 +13014,11 @@ NXP i.MX 8M(M|N|P) POWER DOMAIN DRIVER M: Adrien Grassein <adrien.grassein@gmail.com> S: Maintained F: Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml +F: drivers/soc/imx/imx8m_pm_domains.c F: include/dt-bindings/power/imx8mm-power.h F: include/dt-bindings/power/imx8mn-power.h F: include/dt-bindings/power/imx8mp-power.h +F: include/soc/imx/imx_sip.h NXP i.MX 8MQ DCSS DRIVER M: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com> diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig index 05812f8ae734..02d93346fd4b 100644 --- a/drivers/soc/imx/Kconfig +++ b/drivers/soc/imx/Kconfig @@ -8,6 +8,13 @@ config IMX_GPCV2_PM_DOMAINS select PM_GENERIC_DOMAINS default y if SOC_IMX7D +config IMX8M_PM_DOMAINS + bool "i.MX8M PM domains" + depends on ARCH_MXC || (COMPILE_TEST && OF) + depends on PM + select PM_GENERIC_DOMAINS + default y if SOC_IMX8M + config SOC_IMX8M bool "i.MX8M SoC family support" depends on ARCH_MXC || COMPILE_TEST diff --git a/drivers/soc/imx/Makefile b/drivers/soc/imx/Makefile index 078dc918f4f3..7387239aecec 100644 --- a/drivers/soc/imx/Makefile +++ b/drivers/soc/imx/Makefile @@ -4,4 +4,5 @@ obj-$(CONFIG_ARCH_MXC) += soc-imx.o endif obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o obj-$(CONFIG_IMX_GPCV2_PM_DOMAINS) += gpcv2.o +obj-$(CONFIG_IMX8M_PM_DOMAINS) += imx8m_pm_domains.o obj-$(CONFIG_SOC_IMX8M) += soc-imx8m.o diff --git a/drivers/soc/imx/imx8m_pm_domains.c b/drivers/soc/imx/imx8m_pm_domains.c new file mode 100644 index 000000000000..3a039572b734 --- /dev/null +++ b/drivers/soc/imx/imx8m_pm_domains.c @@ -0,0 +1,233 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2019 NXP. + */ + +#include <linux/arm-smccc.h> +#include <linux/clk.h> +#include <linux/delay.h> +#include <linux/io.h> +#include <linux/module.h> +#include <linux/of.h> +#include <linux/of_address.h> +#include <linux/platform_device.h> +#include <linux/pm_domain.h> +#include <linux/regulator/consumer.h> + +#include <soc/imx/imx_sip.h> + +#define MAX_CLK_NUM 6 +#define to_imx8m_pm_domain(_genpd) container_of(_genpd, struct imx8m_pm_domain, pd) + +struct imx8m_pm_domain { + struct device *dev; + struct generic_pm_domain pd; + u32 domain_index; + struct clk *clk[MAX_CLK_NUM]; + unsigned int num_clks; + struct regulator *reg; +}; + +enum imx8m_pm_domain_state { + PD_STATE_OFF, + PD_STATE_ON, +}; + +static DEFINE_MUTEX(gpc_pd_mutex); + +static int imx8m_pd_power_on(struct generic_pm_domain *genpd) +{ + struct imx8m_pm_domain *domain = to_imx8m_pm_domain(genpd); + struct arm_smccc_res res; + int index, ret = 0; + + /* power on the external supply */ + if (!IS_ERR(domain->reg)) { + ret = regulator_enable(domain->reg); + if (ret) { + dev_warn(domain->dev, "failed to power up the reg%d\n", ret); + return ret; + } + } + + /* enable the necessary clks needed by the power domain */ + if (domain->num_clks) { + for (index = 0; index < domain->num_clks; index++) + clk_prepare_enable(domain->clk[index]); + } + + mutex_lock(&gpc_pd_mutex); + arm_smccc_smc(IMX_SIP_GPC, IMX_SIP_CONFIG_GPC_PM_DOMAIN, domain->domain_index, + PD_STATE_ON, 0, 0, 0, 0, &res); + mutex_unlock(&gpc_pd_mutex); + + return 0; +} + +static int imx8m_pd_power_off(struct generic_pm_domain *genpd) +{ + struct imx8m_pm_domain *domain = to_imx8m_pm_domain(genpd); + struct arm_smccc_res res; + int index, ret = 0; + + mutex_lock(&gpc_pd_mutex); + arm_smccc_smc(IMX_SIP_GPC, IMX_SIP_CONFIG_GPC_PM_DOMAIN, domain->domain_index, + PD_STATE_OFF, 0, 0, 0, 0, &res); + mutex_unlock(&gpc_pd_mutex); + + /* power off the external supply */ + if (!IS_ERR(domain->reg)) { + ret = regulator_disable(domain->reg); + if (ret) { + dev_warn(domain->dev, "failed to power off the reg%d\n", ret); + return ret; + } + } + + /* disable clks when power domain is off */ + if (domain->num_clks) { + for (index = 0; index < domain->num_clks; index++) + clk_disable_unprepare(domain->clk[index]); + } + + return ret; +}; + +static int imx8m_pd_get_clocks(struct imx8m_pm_domain *domain) +{ + int i, ret; + + for (i = 0; ; i++) { + struct clk *clk = of_clk_get(domain->dev->of_node, i); + + if (IS_ERR(clk)) + break; + if (i >= MAX_CLK_NUM) { + dev_err(domain->dev, "more than %d clocks\n", + MAX_CLK_NUM); + ret = -EINVAL; + goto clk_err; + } + domain->clk[i] = clk; + } + domain->num_clks = i; + + return 0; + +clk_err: + while (i--) + clk_put(domain->clk[i]); + + return ret; +} + +static void imx8m_pd_put_clocks(struct imx8m_pm_domain *domain) +{ + int i; + + for (i = domain->num_clks - 1; i >= 0; i--) + clk_put(domain->clk[i]); +} + +static const struct of_device_id imx8m_pm_domain_ids[] = { + {.compatible = "fsl,imx8mm-pm-domain"}, + {.compatible = "fsl,imx8mn-pm-domain"}, + {.compatible = "fsl,imx8mn-pm-domain"}, + {}, +}; + +static int imx8m_pm_domain_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct device_node *np = dev->of_node; + struct imx8m_pm_domain *domain; + struct of_phandle_args parent, child; + int ret; + + domain = devm_kzalloc(dev, sizeof(*domain), GFP_KERNEL); + if (!domain) + return -ENOMEM; + + child.np = np; + domain->dev = dev; + + ret = of_property_read_string(np, "domain-name", &domain->pd.name); + if (ret) { + dev_err(dev, "failed to get the domain name\n"); + return -EINVAL; + } + + ret = of_property_read_u32(np, "domain-index", &domain->domain_index); + if (ret) { + dev_err(dev, "failed to get the domain index\n"); + return -EINVAL; + } + + domain->reg = devm_regulator_get_optional(dev, "power"); + if (IS_ERR(domain->reg)) { + if (PTR_ERR(domain->reg) != -ENODEV) { + if (PTR_ERR(domain->reg) != -EPROBE_DEFER) + dev_err(dev, "failed to get domain's regulator\n"); + return PTR_ERR(domain->reg); + } + } + + ret = imx8m_pd_get_clocks(domain); + if (ret) { + if (ret != -EPROBE_DEFER) + dev_err(dev, "failed to get domain's clocks\n"); + return ret; + } + + domain->pd.power_off = imx8m_pd_power_off; + domain->pd.power_on = imx8m_pd_power_on; + if (of_property_read_bool(np, "fsl,active-wakeup")) + domain->pd.flags |= GENPD_FLAG_ACTIVE_WAKEUP; + if (of_property_read_bool(np, "fsl,rpm-always-on")) + domain->pd.flags |= GENPD_FLAG_RPM_ALWAYS_ON; + + pm_genpd_init(&domain->pd, NULL, !(domain->pd.flags & GENPD_FLAG_RPM_ALWAYS_ON)); + + ret = of_genpd_add_provider_simple(np, &domain->pd); + if (ret) { + dev_err(dev, "failed to add the domain provider\n"); + pm_genpd_remove(&domain->pd); + imx8m_pd_put_clocks(domain); + return ret; + } + + /* add it as subdomain if necessary */ + if (!of_parse_phandle_with_args(np, "power-domains", + "#power-domain-cells", + 0, &parent)) { + ret = of_genpd_add_subdomain(&parent, &child); + of_node_put(parent.np); + + if (ret < 0) { + dev_dbg(dev, "failed to add the subdomain: %s: %d", + domain->pd.name, ret); + of_genpd_del_provider(np); + pm_genpd_remove(&domain->pd); + imx8m_pd_put_clocks(domain); + return driver_deferred_probe_check_state(dev); + } + } + + return 0; +} + +static struct platform_driver imx8m_pm_domain_driver = { + .driver = { + .name = "imx8m_pm_domain", + .owner = THIS_MODULE, + .of_match_table = imx8m_pm_domain_ids, + }, + .probe = imx8m_pm_domain_probe, +}; +module_platform_driver(imx8m_pm_domain_driver); + +MODULE_AUTHOR("NXP"); +/* Just for mainstreaming */ +MODULE_AUTHOR("Adrien Grassein <adrien.grassein@gmail.com>"); +MODULE_DESCRIPTION("NXP i.MX8M power domain driver"); +MODULE_LICENSE("GPL v2"); diff --git a/include/soc/imx/imx_sip.h b/include/soc/imx/imx_sip.h new file mode 100644 index 000000000000..6b96b33c870e --- /dev/null +++ b/include/soc/imx/imx_sip.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright 2019 NXP + */ + +#ifndef __IMX_SIP_H__ +#define __IMX_SIP_H__ + +#define IMX_SIP_GPC 0xC2000000 +#define IMX_SIP_CONFIG_GPC_PM_DOMAIN 0x03 + +#endif /* __IMX_SIP_H__ */ -- 2.25.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v1 2/2] soc: imx: add Power Domain driver for i.MX8M(M|N|P) @ 2021-04-02 16:45 ` Adrien Grassein 0 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 16:45 UTC (permalink / raw) Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx, lgirdwood, broonie, arnd, peng.fan, Anson.Huang, devicetree, linux-arm-kernel, linux-kernel, Adrien Grassein Add code allowing to control the power domain of some i.MX8 socs. Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com> --- MAINTAINERS | 2 + drivers/soc/imx/Kconfig | 7 + drivers/soc/imx/Makefile | 1 + drivers/soc/imx/imx8m_pm_domains.c | 233 +++++++++++++++++++++++++++++ include/soc/imx/imx_sip.h | 12 ++ 5 files changed, 255 insertions(+) create mode 100644 drivers/soc/imx/imx8m_pm_domains.c create mode 100644 include/soc/imx/imx_sip.h diff --git a/MAINTAINERS b/MAINTAINERS index 97536afca0e1..06e1568d003b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13014,9 +13014,11 @@ NXP i.MX 8M(M|N|P) POWER DOMAIN DRIVER M: Adrien Grassein <adrien.grassein@gmail.com> S: Maintained F: Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml +F: drivers/soc/imx/imx8m_pm_domains.c F: include/dt-bindings/power/imx8mm-power.h F: include/dt-bindings/power/imx8mn-power.h F: include/dt-bindings/power/imx8mp-power.h +F: include/soc/imx/imx_sip.h NXP i.MX 8MQ DCSS DRIVER M: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com> diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig index 05812f8ae734..02d93346fd4b 100644 --- a/drivers/soc/imx/Kconfig +++ b/drivers/soc/imx/Kconfig @@ -8,6 +8,13 @@ config IMX_GPCV2_PM_DOMAINS select PM_GENERIC_DOMAINS default y if SOC_IMX7D +config IMX8M_PM_DOMAINS + bool "i.MX8M PM domains" + depends on ARCH_MXC || (COMPILE_TEST && OF) + depends on PM + select PM_GENERIC_DOMAINS + default y if SOC_IMX8M + config SOC_IMX8M bool "i.MX8M SoC family support" depends on ARCH_MXC || COMPILE_TEST diff --git a/drivers/soc/imx/Makefile b/drivers/soc/imx/Makefile index 078dc918f4f3..7387239aecec 100644 --- a/drivers/soc/imx/Makefile +++ b/drivers/soc/imx/Makefile @@ -4,4 +4,5 @@ obj-$(CONFIG_ARCH_MXC) += soc-imx.o endif obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o obj-$(CONFIG_IMX_GPCV2_PM_DOMAINS) += gpcv2.o +obj-$(CONFIG_IMX8M_PM_DOMAINS) += imx8m_pm_domains.o obj-$(CONFIG_SOC_IMX8M) += soc-imx8m.o diff --git a/drivers/soc/imx/imx8m_pm_domains.c b/drivers/soc/imx/imx8m_pm_domains.c new file mode 100644 index 000000000000..3a039572b734 --- /dev/null +++ b/drivers/soc/imx/imx8m_pm_domains.c @@ -0,0 +1,233 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2019 NXP. + */ + +#include <linux/arm-smccc.h> +#include <linux/clk.h> +#include <linux/delay.h> +#include <linux/io.h> +#include <linux/module.h> +#include <linux/of.h> +#include <linux/of_address.h> +#include <linux/platform_device.h> +#include <linux/pm_domain.h> +#include <linux/regulator/consumer.h> + +#include <soc/imx/imx_sip.h> + +#define MAX_CLK_NUM 6 +#define to_imx8m_pm_domain(_genpd) container_of(_genpd, struct imx8m_pm_domain, pd) + +struct imx8m_pm_domain { + struct device *dev; + struct generic_pm_domain pd; + u32 domain_index; + struct clk *clk[MAX_CLK_NUM]; + unsigned int num_clks; + struct regulator *reg; +}; + +enum imx8m_pm_domain_state { + PD_STATE_OFF, + PD_STATE_ON, +}; + +static DEFINE_MUTEX(gpc_pd_mutex); + +static int imx8m_pd_power_on(struct generic_pm_domain *genpd) +{ + struct imx8m_pm_domain *domain = to_imx8m_pm_domain(genpd); + struct arm_smccc_res res; + int index, ret = 0; + + /* power on the external supply */ + if (!IS_ERR(domain->reg)) { + ret = regulator_enable(domain->reg); + if (ret) { + dev_warn(domain->dev, "failed to power up the reg%d\n", ret); + return ret; + } + } + + /* enable the necessary clks needed by the power domain */ + if (domain->num_clks) { + for (index = 0; index < domain->num_clks; index++) + clk_prepare_enable(domain->clk[index]); + } + + mutex_lock(&gpc_pd_mutex); + arm_smccc_smc(IMX_SIP_GPC, IMX_SIP_CONFIG_GPC_PM_DOMAIN, domain->domain_index, + PD_STATE_ON, 0, 0, 0, 0, &res); + mutex_unlock(&gpc_pd_mutex); + + return 0; +} + +static int imx8m_pd_power_off(struct generic_pm_domain *genpd) +{ + struct imx8m_pm_domain *domain = to_imx8m_pm_domain(genpd); + struct arm_smccc_res res; + int index, ret = 0; + + mutex_lock(&gpc_pd_mutex); + arm_smccc_smc(IMX_SIP_GPC, IMX_SIP_CONFIG_GPC_PM_DOMAIN, domain->domain_index, + PD_STATE_OFF, 0, 0, 0, 0, &res); + mutex_unlock(&gpc_pd_mutex); + + /* power off the external supply */ + if (!IS_ERR(domain->reg)) { + ret = regulator_disable(domain->reg); + if (ret) { + dev_warn(domain->dev, "failed to power off the reg%d\n", ret); + return ret; + } + } + + /* disable clks when power domain is off */ + if (domain->num_clks) { + for (index = 0; index < domain->num_clks; index++) + clk_disable_unprepare(domain->clk[index]); + } + + return ret; +}; + +static int imx8m_pd_get_clocks(struct imx8m_pm_domain *domain) +{ + int i, ret; + + for (i = 0; ; i++) { + struct clk *clk = of_clk_get(domain->dev->of_node, i); + + if (IS_ERR(clk)) + break; + if (i >= MAX_CLK_NUM) { + dev_err(domain->dev, "more than %d clocks\n", + MAX_CLK_NUM); + ret = -EINVAL; + goto clk_err; + } + domain->clk[i] = clk; + } + domain->num_clks = i; + + return 0; + +clk_err: + while (i--) + clk_put(domain->clk[i]); + + return ret; +} + +static void imx8m_pd_put_clocks(struct imx8m_pm_domain *domain) +{ + int i; + + for (i = domain->num_clks - 1; i >= 0; i--) + clk_put(domain->clk[i]); +} + +static const struct of_device_id imx8m_pm_domain_ids[] = { + {.compatible = "fsl,imx8mm-pm-domain"}, + {.compatible = "fsl,imx8mn-pm-domain"}, + {.compatible = "fsl,imx8mn-pm-domain"}, + {}, +}; + +static int imx8m_pm_domain_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct device_node *np = dev->of_node; + struct imx8m_pm_domain *domain; + struct of_phandle_args parent, child; + int ret; + + domain = devm_kzalloc(dev, sizeof(*domain), GFP_KERNEL); + if (!domain) + return -ENOMEM; + + child.np = np; + domain->dev = dev; + + ret = of_property_read_string(np, "domain-name", &domain->pd.name); + if (ret) { + dev_err(dev, "failed to get the domain name\n"); + return -EINVAL; + } + + ret = of_property_read_u32(np, "domain-index", &domain->domain_index); + if (ret) { + dev_err(dev, "failed to get the domain index\n"); + return -EINVAL; + } + + domain->reg = devm_regulator_get_optional(dev, "power"); + if (IS_ERR(domain->reg)) { + if (PTR_ERR(domain->reg) != -ENODEV) { + if (PTR_ERR(domain->reg) != -EPROBE_DEFER) + dev_err(dev, "failed to get domain's regulator\n"); + return PTR_ERR(domain->reg); + } + } + + ret = imx8m_pd_get_clocks(domain); + if (ret) { + if (ret != -EPROBE_DEFER) + dev_err(dev, "failed to get domain's clocks\n"); + return ret; + } + + domain->pd.power_off = imx8m_pd_power_off; + domain->pd.power_on = imx8m_pd_power_on; + if (of_property_read_bool(np, "fsl,active-wakeup")) + domain->pd.flags |= GENPD_FLAG_ACTIVE_WAKEUP; + if (of_property_read_bool(np, "fsl,rpm-always-on")) + domain->pd.flags |= GENPD_FLAG_RPM_ALWAYS_ON; + + pm_genpd_init(&domain->pd, NULL, !(domain->pd.flags & GENPD_FLAG_RPM_ALWAYS_ON)); + + ret = of_genpd_add_provider_simple(np, &domain->pd); + if (ret) { + dev_err(dev, "failed to add the domain provider\n"); + pm_genpd_remove(&domain->pd); + imx8m_pd_put_clocks(domain); + return ret; + } + + /* add it as subdomain if necessary */ + if (!of_parse_phandle_with_args(np, "power-domains", + "#power-domain-cells", + 0, &parent)) { + ret = of_genpd_add_subdomain(&parent, &child); + of_node_put(parent.np); + + if (ret < 0) { + dev_dbg(dev, "failed to add the subdomain: %s: %d", + domain->pd.name, ret); + of_genpd_del_provider(np); + pm_genpd_remove(&domain->pd); + imx8m_pd_put_clocks(domain); + return driver_deferred_probe_check_state(dev); + } + } + + return 0; +} + +static struct platform_driver imx8m_pm_domain_driver = { + .driver = { + .name = "imx8m_pm_domain", + .owner = THIS_MODULE, + .of_match_table = imx8m_pm_domain_ids, + }, + .probe = imx8m_pm_domain_probe, +}; +module_platform_driver(imx8m_pm_domain_driver); + +MODULE_AUTHOR("NXP"); +/* Just for mainstreaming */ +MODULE_AUTHOR("Adrien Grassein <adrien.grassein@gmail.com>"); +MODULE_DESCRIPTION("NXP i.MX8M power domain driver"); +MODULE_LICENSE("GPL v2"); diff --git a/include/soc/imx/imx_sip.h b/include/soc/imx/imx_sip.h new file mode 100644 index 000000000000..6b96b33c870e --- /dev/null +++ b/include/soc/imx/imx_sip.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright 2019 NXP + */ + +#ifndef __IMX_SIP_H__ +#define __IMX_SIP_H__ + +#define IMX_SIP_GPC 0xC2000000 +#define IMX_SIP_CONFIG_GPC_PM_DOMAIN 0x03 + +#endif /* __IMX_SIP_H__ */ -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v1 2/2] soc: imx: add Power Domain driver for i.MX8M(M|N|P) 2021-04-02 16:45 ` Adrien Grassein (?) @ 2021-04-02 21:26 ` kernel test robot -1 siblings, 0 replies; 19+ messages in thread From: kernel test robot @ 2021-04-02 21:26 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 2296 bytes --] Hi Adrien, I love your patch! Yet something to improve: [auto build test ERROR on shawnguo/for-next] [also build test ERROR on robh/for-next soc/for-next linus/master v5.12-rc5 next-20210401] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Adrien-Grassein/Add-imx8m-power-domain-driver/20210403-004735 base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/1abed60a1cac66078a292d2515fcaf77268b1b47 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Adrien-Grassein/Add-imx8m-power-domain-driver/20210403-004735 git checkout 1abed60a1cac66078a292d2515fcaf77268b1b47 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): sh4-linux-ld: drivers/soc/imx/imx8m_pm_domains.o: in function `imx8m_pd_power_on': >> imx8m_pm_domains.c:(.text+0x118): undefined reference to `__arm_smccc_smc' sh4-linux-ld: drivers/soc/imx/imx8m_pm_domains.o: in function `imx8m_pd_power_off': imx8m_pm_domains.c:(.text+0x234): undefined reference to `__arm_smccc_smc' Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC Depends on SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && HAS_DMA Selected by - SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC - SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && ATMEL_SSC --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 54169 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver 2021-04-02 16:45 ` Adrien Grassein @ 2021-04-02 17:42 ` Abel Vesa -1 siblings, 0 replies; 19+ messages in thread From: Abel Vesa @ 2021-04-02 17:42 UTC (permalink / raw) To: Adrien Grassein Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx, lgirdwood, broonie, arnd, peng.fan, Anson.Huang, devicetree, linux-arm-kernel, linux-kernel On 21-04-02 18:45:04, Adrien Grassein wrote: > Hi, > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > Some devices (like usbotg2) can't work without this patch as their > attached power domain are down. > > The original drivr was taken from le imx kernel and aapted to fit with > the actual mainline (minor fixes). > > Thanks, > Big NACK for the whole series. This approach has already been rejected upstream. Plus, you changed the original author, this work was originally done by Jacky Bai. > Adrien Grassein (2): > dt-bindings: power: Add documentation for imx8m power domain driver > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > MAINTAINERS | 10 + > drivers/soc/imx/Kconfig | 7 + > drivers/soc/imx/Makefile | 1 + > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > include/dt-bindings/power/imx8mm-power.h | 21 ++ > include/dt-bindings/power/imx8mn-power.h | 15 ++ > include/dt-bindings/power/imx8mp-power.h | 28 +++ > include/soc/imx/imx_sip.h | 12 + > 9 files changed, 416 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > create mode 100644 include/dt-bindings/power/imx8mm-power.h > create mode 100644 include/dt-bindings/power/imx8mn-power.h > create mode 100644 include/dt-bindings/power/imx8mp-power.h > create mode 100644 include/soc/imx/imx_sip.h > > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver @ 2021-04-02 17:42 ` Abel Vesa 0 siblings, 0 replies; 19+ messages in thread From: Abel Vesa @ 2021-04-02 17:42 UTC (permalink / raw) To: Adrien Grassein Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx, lgirdwood, broonie, arnd, peng.fan, Anson.Huang, devicetree, linux-arm-kernel, linux-kernel On 21-04-02 18:45:04, Adrien Grassein wrote: > Hi, > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > Some devices (like usbotg2) can't work without this patch as their > attached power domain are down. > > The original drivr was taken from le imx kernel and aapted to fit with > the actual mainline (minor fixes). > > Thanks, > Big NACK for the whole series. This approach has already been rejected upstream. Plus, you changed the original author, this work was originally done by Jacky Bai. > Adrien Grassein (2): > dt-bindings: power: Add documentation for imx8m power domain driver > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > MAINTAINERS | 10 + > drivers/soc/imx/Kconfig | 7 + > drivers/soc/imx/Makefile | 1 + > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > include/dt-bindings/power/imx8mm-power.h | 21 ++ > include/dt-bindings/power/imx8mn-power.h | 15 ++ > include/dt-bindings/power/imx8mp-power.h | 28 +++ > include/soc/imx/imx_sip.h | 12 + > 9 files changed, 416 insertions(+) > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > create mode 100644 include/dt-bindings/power/imx8mm-power.h > create mode 100644 include/dt-bindings/power/imx8mn-power.h > create mode 100644 include/dt-bindings/power/imx8mp-power.h > create mode 100644 include/soc/imx/imx_sip.h > > -- > 2.25.1 > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver 2021-04-02 17:42 ` Abel Vesa @ 2021-04-02 17:48 ` Adrien Grassein -1 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 17:48 UTC (permalink / raw) To: Abel Vesa Cc: Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, arnd, peng.fan, Anson.Huang, DTML, linux-arm-kernel, linux-kernel Hi, Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > Hi, > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > Some devices (like usbotg2) can't work without this patch as their > > attached power domain are down. > > > > The original drivr was taken from le imx kernel and aapted to fit with > > the actual mainline (minor fixes). > > > > Thanks, > > > > Big NACK for the whole series. > > This approach has already been rejected upstream. So what is the correct approach? At this point otg2 node of imx8mm is not working at all (and blocks the whole boot of the kernel) > > Plus, you changed the original author, this work was originally done by Jacky Bai. I have not changed this, the original author is not mentioned on the original patch. (Taken from https://github.com/Freescale/linux-fslc branch 5.4-2.2.x-imx) > > > Adrien Grassein (2): > > dt-bindings: power: Add documentation for imx8m power domain driver > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > MAINTAINERS | 10 + > > drivers/soc/imx/Kconfig | 7 + > > drivers/soc/imx/Makefile | 1 + > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > include/soc/imx/imx_sip.h | 12 + > > 9 files changed, 416 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > create mode 100644 include/soc/imx/imx_sip.h > > > > -- > > 2.25.1 > > Thanks, ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver @ 2021-04-02 17:48 ` Adrien Grassein 0 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 17:48 UTC (permalink / raw) To: Abel Vesa Cc: Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, arnd, peng.fan, Anson.Huang, DTML, linux-arm-kernel, linux-kernel Hi, Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > Hi, > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > Some devices (like usbotg2) can't work without this patch as their > > attached power domain are down. > > > > The original drivr was taken from le imx kernel and aapted to fit with > > the actual mainline (minor fixes). > > > > Thanks, > > > > Big NACK for the whole series. > > This approach has already been rejected upstream. So what is the correct approach? At this point otg2 node of imx8mm is not working at all (and blocks the whole boot of the kernel) > > Plus, you changed the original author, this work was originally done by Jacky Bai. I have not changed this, the original author is not mentioned on the original patch. (Taken from https://github.com/Freescale/linux-fslc branch 5.4-2.2.x-imx) > > > Adrien Grassein (2): > > dt-bindings: power: Add documentation for imx8m power domain driver > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > MAINTAINERS | 10 + > > drivers/soc/imx/Kconfig | 7 + > > drivers/soc/imx/Makefile | 1 + > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > include/soc/imx/imx_sip.h | 12 + > > 9 files changed, 416 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > create mode 100644 include/soc/imx/imx_sip.h > > > > -- > > 2.25.1 > > Thanks, _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver 2021-04-02 17:48 ` Adrien Grassein @ 2021-04-02 17:58 ` Abel Vesa -1 siblings, 0 replies; 19+ messages in thread From: Abel Vesa @ 2021-04-02 17:58 UTC (permalink / raw) To: Adrien Grassein Cc: Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, arnd, peng.fan, Anson.Huang, DTML, linux-arm-kernel, linux-kernel On 21-04-02 19:48:41, Adrien Grassein wrote: > Hi, > > Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > > Hi, > > > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > > Some devices (like usbotg2) can't work without this patch as their > > > attached power domain are down. > > > > > > The original drivr was taken from le imx kernel and aapted to fit with > > > the actual mainline (minor fixes). > > > > > > Thanks, > > > > > > > Big NACK for the whole series. > > > > This approach has already been rejected upstream. > > So what is the correct approach? > At this point otg2 node of imx8mm is not working at all (and blocks the whole > boot of the kernel) > Have a look at this thread: https://lkml.org/lkml/2020/4/27/706 > > > > Plus, you changed the original author, this work was originally done by Jacky Bai. > > I have not changed this, the original author is not mentioned on the > original patch. Here is the original commit: https://github.com/Freescale/linux-fslc/commit/7ebcf5ccf423afe4ccd9c53ef204018b0b653ce0 > > > > > > Adrien Grassein (2): > > > dt-bindings: power: Add documentation for imx8m power domain driver > > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > > MAINTAINERS | 10 + > > > drivers/soc/imx/Kconfig | 7 + > > > drivers/soc/imx/Makefile | 1 + > > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > > include/soc/imx/imx_sip.h | 12 + > > > 9 files changed, 416 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > > create mode 100644 include/soc/imx/imx_sip.h > > > > > > -- > > > 2.25.1 > > > > > Thanks, ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver @ 2021-04-02 17:58 ` Abel Vesa 0 siblings, 0 replies; 19+ messages in thread From: Abel Vesa @ 2021-04-02 17:58 UTC (permalink / raw) To: Adrien Grassein Cc: Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, arnd, peng.fan, Anson.Huang, DTML, linux-arm-kernel, linux-kernel On 21-04-02 19:48:41, Adrien Grassein wrote: > Hi, > > Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > > Hi, > > > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > > Some devices (like usbotg2) can't work without this patch as their > > > attached power domain are down. > > > > > > The original drivr was taken from le imx kernel and aapted to fit with > > > the actual mainline (minor fixes). > > > > > > Thanks, > > > > > > > Big NACK for the whole series. > > > > This approach has already been rejected upstream. > > So what is the correct approach? > At this point otg2 node of imx8mm is not working at all (and blocks the whole > boot of the kernel) > Have a look at this thread: https://lkml.org/lkml/2020/4/27/706 > > > > Plus, you changed the original author, this work was originally done by Jacky Bai. > > I have not changed this, the original author is not mentioned on the > original patch. Here is the original commit: https://github.com/Freescale/linux-fslc/commit/7ebcf5ccf423afe4ccd9c53ef204018b0b653ce0 > > > > > > Adrien Grassein (2): > > > dt-bindings: power: Add documentation for imx8m power domain driver > > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > > MAINTAINERS | 10 + > > > drivers/soc/imx/Kconfig | 7 + > > > drivers/soc/imx/Makefile | 1 + > > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > > include/soc/imx/imx_sip.h | 12 + > > > 9 files changed, 416 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > > create mode 100644 include/soc/imx/imx_sip.h > > > > > > -- > > > 2.25.1 > > > > > Thanks, _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver 2021-04-02 17:58 ` Abel Vesa @ 2021-04-02 18:11 ` Adrien Grassein -1 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 18:11 UTC (permalink / raw) To: Abel Vesa Cc: Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, arnd, peng.fan, Anson.Huang, DTML, linux-arm-kernel, linux-kernel Le ven. 2 avr. 2021 à 19:58, Abel Vesa <abel.vesa@nxp.com> a écrit : > > On 21-04-02 19:48:41, Adrien Grassein wrote: > > Hi, > > > > Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > > > Hi, > > > > > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > > > Some devices (like usbotg2) can't work without this patch as their > > > > attached power domain are down. > > > > > > > > The original drivr was taken from le imx kernel and aapted to fit with > > > > the actual mainline (minor fixes). > > > > > > > > Thanks, > > > > > > > > > > Big NACK for the whole series. > > > > > > This approach has already been rejected upstream. > > > > So what is the correct approach? > > At this point otg2 node of imx8mm is not working at all (and blocks the whole > > boot of the kernel) > > > > Have a look at this thread: > > https://lkml.org/lkml/2020/4/27/706 > Understood, so I will try to update the gpc driver (at least for otg). > > > > > > Plus, you changed the original author, this work was originally done by Jacky Bai. > > > > I have not changed this, the original author is not mentioned on the > > original patch. > > Here is the original commit: > > https://github.com/Freescale/linux-fslc/commit/7ebcf5ccf423afe4ccd9c53ef204018b0b653ce0 > > > > > > > > > > > Adrien Grassein (2): > > > > dt-bindings: power: Add documentation for imx8m power domain driver > > > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > > > MAINTAINERS | 10 + > > > > drivers/soc/imx/Kconfig | 7 + > > > > drivers/soc/imx/Makefile | 1 + > > > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > > > include/soc/imx/imx_sip.h | 12 + > > > > 9 files changed, 416 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > > > create mode 100644 include/soc/imx/imx_sip.h > > > > > > > > -- > > > > 2.25.1 > > > > > > > > Thanks, Thanks, ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver @ 2021-04-02 18:11 ` Adrien Grassein 0 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 18:11 UTC (permalink / raw) To: Abel Vesa Cc: Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, arnd, peng.fan, Anson.Huang, DTML, linux-arm-kernel, linux-kernel Le ven. 2 avr. 2021 à 19:58, Abel Vesa <abel.vesa@nxp.com> a écrit : > > On 21-04-02 19:48:41, Adrien Grassein wrote: > > Hi, > > > > Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > > > Hi, > > > > > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > > > Some devices (like usbotg2) can't work without this patch as their > > > > attached power domain are down. > > > > > > > > The original drivr was taken from le imx kernel and aapted to fit with > > > > the actual mainline (minor fixes). > > > > > > > > Thanks, > > > > > > > > > > Big NACK for the whole series. > > > > > > This approach has already been rejected upstream. > > > > So what is the correct approach? > > At this point otg2 node of imx8mm is not working at all (and blocks the whole > > boot of the kernel) > > > > Have a look at this thread: > > https://lkml.org/lkml/2020/4/27/706 > Understood, so I will try to update the gpc driver (at least for otg). > > > > > > Plus, you changed the original author, this work was originally done by Jacky Bai. > > > > I have not changed this, the original author is not mentioned on the > > original patch. > > Here is the original commit: > > https://github.com/Freescale/linux-fslc/commit/7ebcf5ccf423afe4ccd9c53ef204018b0b653ce0 > > > > > > > > > > > Adrien Grassein (2): > > > > dt-bindings: power: Add documentation for imx8m power domain driver > > > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > > > MAINTAINERS | 10 + > > > > drivers/soc/imx/Kconfig | 7 + > > > > drivers/soc/imx/Makefile | 1 + > > > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > > > include/soc/imx/imx_sip.h | 12 + > > > > 9 files changed, 416 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > > > create mode 100644 include/soc/imx/imx_sip.h > > > > > > > > -- > > > > 2.25.1 > > > > > > > > Thanks, Thanks, _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver 2021-04-02 18:11 ` Adrien Grassein @ 2021-04-02 22:09 ` Adam Ford -1 siblings, 0 replies; 19+ messages in thread From: Adam Ford @ 2021-04-02 22:09 UTC (permalink / raw) To: Adrien Grassein Cc: Abel Vesa, Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, Arnd Bergmann, Peng Fan, Anson Huang, DTML, arm-soc, linux-kernel On Fri, Apr 2, 2021 at 1:16 PM Adrien Grassein <adrien.grassein@gmail.com> wrote: > > Le ven. 2 avr. 2021 à 19:58, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > On 21-04-02 19:48:41, Adrien Grassein wrote: > > > Hi, > > > > > > Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > > > > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > > > > Hi, > > > > > > > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > > > > Some devices (like usbotg2) can't work without this patch as their > > > > > attached power domain are down. > > > > > > > > > > The original drivr was taken from le imx kernel and aapted to fit with > > > > > the actual mainline (minor fixes). > > > > > > > > > > Thanks, > > > > > > > > > > > > > Big NACK for the whole series. > > > > > > > > This approach has already been rejected upstream. > > > > > > So what is the correct approach? > > > At this point otg2 node of imx8mm is not working at all (and blocks the whole > > > boot of the kernel) > > > > > > > Have a look at this thread: > > > > https://lkml.org/lkml/2020/4/27/706 > > > Understood, so I will try to update the gpc driver (at least for otg). Thanks for doing that. I know Lucas tried a few times to get something going. I'm willing to adapt whatever work you do on the Mini toward the Nano if you don't have time. adam > > > > > > > > > Plus, you changed the original author, this work was originally done by Jacky Bai. > > > > > > I have not changed this, the original author is not mentioned on the > > > original patch. > > > > Here is the original commit: > > > > https://github.com/Freescale/linux-fslc/commit/7ebcf5ccf423afe4ccd9c53ef204018b0b653ce0 > > > > > > > > > > > > > > > > Adrien Grassein (2): > > > > > dt-bindings: power: Add documentation for imx8m power domain driver > > > > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > > > > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > > > > MAINTAINERS | 10 + > > > > > drivers/soc/imx/Kconfig | 7 + > > > > > drivers/soc/imx/Makefile | 1 + > > > > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > > > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > > > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > > > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > > > > include/soc/imx/imx_sip.h | 12 + > > > > > 9 files changed, 416 insertions(+) > > > > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > > > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > > > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > > > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > > > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > > > > create mode 100644 include/soc/imx/imx_sip.h > > > > > > > > > > -- > > > > > 2.25.1 > > > > > > > > > > > Thanks, > > Thanks, > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver @ 2021-04-02 22:09 ` Adam Ford 0 siblings, 0 replies; 19+ messages in thread From: Adam Ford @ 2021-04-02 22:09 UTC (permalink / raw) To: Adrien Grassein Cc: Abel Vesa, Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, Arnd Bergmann, Peng Fan, Anson Huang, DTML, arm-soc, linux-kernel On Fri, Apr 2, 2021 at 1:16 PM Adrien Grassein <adrien.grassein@gmail.com> wrote: > > Le ven. 2 avr. 2021 à 19:58, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > On 21-04-02 19:48:41, Adrien Grassein wrote: > > > Hi, > > > > > > Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > > > > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > > > > Hi, > > > > > > > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > > > > Some devices (like usbotg2) can't work without this patch as their > > > > > attached power domain are down. > > > > > > > > > > The original drivr was taken from le imx kernel and aapted to fit with > > > > > the actual mainline (minor fixes). > > > > > > > > > > Thanks, > > > > > > > > > > > > > Big NACK for the whole series. > > > > > > > > This approach has already been rejected upstream. > > > > > > So what is the correct approach? > > > At this point otg2 node of imx8mm is not working at all (and blocks the whole > > > boot of the kernel) > > > > > > > Have a look at this thread: > > > > https://lkml.org/lkml/2020/4/27/706 > > > Understood, so I will try to update the gpc driver (at least for otg). Thanks for doing that. I know Lucas tried a few times to get something going. I'm willing to adapt whatever work you do on the Mini toward the Nano if you don't have time. adam > > > > > > > > > Plus, you changed the original author, this work was originally done by Jacky Bai. > > > > > > I have not changed this, the original author is not mentioned on the > > > original patch. > > > > Here is the original commit: > > > > https://github.com/Freescale/linux-fslc/commit/7ebcf5ccf423afe4ccd9c53ef204018b0b653ce0 > > > > > > > > > > > > > > > > Adrien Grassein (2): > > > > > dt-bindings: power: Add documentation for imx8m power domain driver > > > > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > > > > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > > > > MAINTAINERS | 10 + > > > > > drivers/soc/imx/Kconfig | 7 + > > > > > drivers/soc/imx/Makefile | 1 + > > > > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > > > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > > > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > > > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > > > > include/soc/imx/imx_sip.h | 12 + > > > > > 9 files changed, 416 insertions(+) > > > > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > > > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > > > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > > > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > > > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > > > > create mode 100644 include/soc/imx/imx_sip.h > > > > > > > > > > -- > > > > > 2.25.1 > > > > > > > > > > > Thanks, > > Thanks, > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver 2021-04-02 22:09 ` Adam Ford @ 2021-04-02 22:26 ` Adrien Grassein -1 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 22:26 UTC (permalink / raw) To: Adam Ford Cc: Abel Vesa, Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, Arnd Bergmann, Peng Fan, Anson Huang, DTML, arm-soc, linux-kernel Hi, Le sam. 3 avr. 2021 à 00:10, Adam Ford <aford173@gmail.com> a écrit : > > On Fri, Apr 2, 2021 at 1:16 PM Adrien Grassein > <adrien.grassein@gmail.com> wrote: > > > > Le ven. 2 avr. 2021 à 19:58, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > > > On 21-04-02 19:48:41, Adrien Grassein wrote: > > > > Hi, > > > > > > > > Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > > > > > > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > > > > > Hi, > > > > > > > > > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > > > > > Some devices (like usbotg2) can't work without this patch as their > > > > > > attached power domain are down. > > > > > > > > > > > > The original drivr was taken from le imx kernel and aapted to fit with > > > > > > the actual mainline (minor fixes). > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > Big NACK for the whole series. > > > > > > > > > > This approach has already been rejected upstream. > > > > > > > > So what is the correct approach? > > > > At this point otg2 node of imx8mm is not working at all (and blocks the whole > > > > boot of the kernel) > > > > > > > > > > Have a look at this thread: > > > > > > https://lkml.org/lkml/2020/4/27/706 > > > > > Understood, so I will try to update the gpc driver (at least for otg). > > Thanks for doing that. I know Lucas tried a few times to get something > going. I'm willing to adapt whatever work you do on the Mini toward > the Nano if you don't have time. > NP, the problem here is that I don't have an Nano to test. > adam > > > > > > > > > > > > Plus, you changed the original author, this work was originally done by Jacky Bai. > > > > > > > > I have not changed this, the original author is not mentioned on the > > > > original patch. > > > > > > Here is the original commit: > > > > > > https://github.com/Freescale/linux-fslc/commit/7ebcf5ccf423afe4ccd9c53ef204018b0b653ce0 > > > > > > > > > > > > > > > > > > > > > Adrien Grassein (2): > > > > > > dt-bindings: power: Add documentation for imx8m power domain driver > > > > > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > > > > > > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > > > > > MAINTAINERS | 10 + > > > > > > drivers/soc/imx/Kconfig | 7 + > > > > > > drivers/soc/imx/Makefile | 1 + > > > > > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > > > > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > > > > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > > > > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > > > > > include/soc/imx/imx_sip.h | 12 + > > > > > > 9 files changed, 416 insertions(+) > > > > > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > > > > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > > > > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > > > > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > > > > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > > > > > create mode 100644 include/soc/imx/imx_sip.h > > > > > > > > > > > > -- > > > > > > 2.25.1 > > > > > > > > > > > > > > Thanks, > > > > Thanks, > > > > _______________________________________________ > > linux-arm-kernel mailing list > > linux-arm-kernel@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel Thanks, ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v1 0/2] Add imx8m power domain driver @ 2021-04-02 22:26 ` Adrien Grassein 0 siblings, 0 replies; 19+ messages in thread From: Adrien Grassein @ 2021-04-02 22:26 UTC (permalink / raw) To: Adam Ford Cc: Abel Vesa, Rob Herring, Shawn Guo, Sascha Hauer, Sascha Hauer, Fabio Estevam, dl-linux-imx, Liam Girdwood, Mark Brown, Arnd Bergmann, Peng Fan, Anson Huang, DTML, arm-soc, linux-kernel Hi, Le sam. 3 avr. 2021 à 00:10, Adam Ford <aford173@gmail.com> a écrit : > > On Fri, Apr 2, 2021 at 1:16 PM Adrien Grassein > <adrien.grassein@gmail.com> wrote: > > > > Le ven. 2 avr. 2021 à 19:58, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > > > On 21-04-02 19:48:41, Adrien Grassein wrote: > > > > Hi, > > > > > > > > Le ven. 2 avr. 2021 à 19:42, Abel Vesa <abel.vesa@nxp.com> a écrit : > > > > > > > > > > On 21-04-02 18:45:04, Adrien Grassein wrote: > > > > > > Hi, > > > > > > > > > > > > this patch et aims to add the support of the i.MX 8 Power Domain driver. > > > > > > Some devices (like usbotg2) can't work without this patch as their > > > > > > attached power domain are down. > > > > > > > > > > > > The original drivr was taken from le imx kernel and aapted to fit with > > > > > > the actual mainline (minor fixes). > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > Big NACK for the whole series. > > > > > > > > > > This approach has already been rejected upstream. > > > > > > > > So what is the correct approach? > > > > At this point otg2 node of imx8mm is not working at all (and blocks the whole > > > > boot of the kernel) > > > > > > > > > > Have a look at this thread: > > > > > > https://lkml.org/lkml/2020/4/27/706 > > > > > Understood, so I will try to update the gpc driver (at least for otg). > > Thanks for doing that. I know Lucas tried a few times to get something > going. I'm willing to adapt whatever work you do on the Mini toward > the Nano if you don't have time. > NP, the problem here is that I don't have an Nano to test. > adam > > > > > > > > > > > > Plus, you changed the original author, this work was originally done by Jacky Bai. > > > > > > > > I have not changed this, the original author is not mentioned on the > > > > original patch. > > > > > > Here is the original commit: > > > > > > https://github.com/Freescale/linux-fslc/commit/7ebcf5ccf423afe4ccd9c53ef204018b0b653ce0 > > > > > > > > > > > > > > > > > > > > > Adrien Grassein (2): > > > > > > dt-bindings: power: Add documentation for imx8m power domain driver > > > > > > soc: imx: add Power Domain driver for i.MX8M(M|N|P) > > > > > > > > > > > > .../bindings/power/fsl,imx-power-domain.yaml | 89 +++++++ > > > > > > MAINTAINERS | 10 + > > > > > > drivers/soc/imx/Kconfig | 7 + > > > > > > drivers/soc/imx/Makefile | 1 + > > > > > > drivers/soc/imx/imx8m_pm_domains.c | 233 ++++++++++++++++++ > > > > > > include/dt-bindings/power/imx8mm-power.h | 21 ++ > > > > > > include/dt-bindings/power/imx8mn-power.h | 15 ++ > > > > > > include/dt-bindings/power/imx8mp-power.h | 28 +++ > > > > > > include/soc/imx/imx_sip.h | 12 + > > > > > > 9 files changed, 416 insertions(+) > > > > > > create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml > > > > > > create mode 100644 drivers/soc/imx/imx8m_pm_domains.c > > > > > > create mode 100644 include/dt-bindings/power/imx8mm-power.h > > > > > > create mode 100644 include/dt-bindings/power/imx8mn-power.h > > > > > > create mode 100644 include/dt-bindings/power/imx8mp-power.h > > > > > > create mode 100644 include/soc/imx/imx_sip.h > > > > > > > > > > > > -- > > > > > > 2.25.1 > > > > > > > > > > > > > > Thanks, > > > > Thanks, > > > > _______________________________________________ > > linux-arm-kernel mailing list > > linux-arm-kernel@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel Thanks, _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2021-04-02 22:27 UTC | newest] Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-04-02 16:45 [PATCH v1 0/2] Add imx8m power domain driver Adrien Grassein 2021-04-02 16:45 ` Adrien Grassein 2021-04-02 16:45 ` [PATCH v1 1/2] dt-bindings: power: Add documentation for " Adrien Grassein 2021-04-02 16:45 ` Adrien Grassein 2021-04-02 16:45 ` [PATCH v1 2/2] soc: imx: add Power Domain driver for i.MX8M(M|N|P) Adrien Grassein 2021-04-02 16:45 ` Adrien Grassein 2021-04-02 21:26 ` kernel test robot 2021-04-02 17:42 ` [PATCH v1 0/2] Add imx8m power domain driver Abel Vesa 2021-04-02 17:42 ` Abel Vesa 2021-04-02 17:48 ` Adrien Grassein 2021-04-02 17:48 ` Adrien Grassein 2021-04-02 17:58 ` Abel Vesa 2021-04-02 17:58 ` Abel Vesa 2021-04-02 18:11 ` Adrien Grassein 2021-04-02 18:11 ` Adrien Grassein 2021-04-02 22:09 ` Adam Ford 2021-04-02 22:09 ` Adam Ford 2021-04-02 22:26 ` Adrien Grassein 2021-04-02 22:26 ` Adrien Grassein
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.