linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 5/5] arm: exynos: Add MCPM call-back functions
Date: Tue, 13 May 2014 17:48:45 +0100	[thread overview]
Message-ID: <20140513164845.GA10210@red-moon> (raw)
In-Reply-To: <1399982324-27879-6-git-send-email-a.kesavan@samsung.com>

On Tue, May 13, 2014 at 12:58:44PM +0100, Abhilash Kesavan wrote:

[...]

> +static int __init exynos_mcpm_init(void)
> +{
> +       struct device_node *node;
> +       int ret = 0;

There is no point in initializing it to 0.

> +
> +       node = of_find_compatible_node(NULL, NULL, "samsung,exynos5420");
> +       if (!node)
> +               return -ENODEV;
> +       of_node_put(node);
> +
> +       if (!cci_probed())
> +               return -ENODEV;
> +
> +       node = of_find_compatible_node(NULL, NULL,
> +                       "samsung,exynos4210-sysram-ns");
> +       if (!node)
> +               return -ENODEV;
> +
> +       ns_sram_base_addr = of_iomap(node, 0);
> +       of_node_put(node);
> +       if (!ns_sram_base_addr) {
> +               pr_err("failed to map non-secure iRAM base address\n");
> +               return -ENOMEM;
> +       }
> +
> +       /*
> +        * To increase the stability of KFC reset we need to program
> +        * the PMU SPARE3 register
> +        */
> +       __raw_writel(EXYNOS5420_SWRESET_KFC_SEL, S5P_PMU_SPARE3);
> +
> +       exynos_mcpm_usage_count_init();
> +
> +       ret = mcpm_platform_register(&exynos_power_ops);
> +       if (!ret)
> +               ret = mcpm_sync_init(exynos_pm_power_up_setup);
> +       if (ret) {
> +               iounmap(ns_sram_base_addr);
> +               return ret;
> +       }
> +
> +       mcpm_smp_set_ops();
> +
> +       pr_info("Exynos MCPM support installed\n");
> +
> +       /*
> +        * Future entries into the kernel can now go
> +        * through the cluster entry vectors.
> +        */
> +       __raw_writel(virt_to_phys(mcpm_entry_point),
> +                       ns_sram_base_addr + MCPM_BOOT_ADDR_OFFSET);
> +

ns_sram_base_addr must be unmapped, since it is unused after the write.

Lorenzo

> +       return ret;
> +}
> +
> +early_initcall(exynos_mcpm_init);
> diff --git a/arch/arm/mach-exynos/regs-pmu.h b/arch/arm/mach-exynos/regs-pmu.h
> index f6b68a3..4179f6a 100644
> --- a/arch/arm/mach-exynos/regs-pmu.h
> +++ b/arch/arm/mach-exynos/regs-pmu.h
> @@ -38,6 +38,7 @@
>  #define S5P_INFORM5                            S5P_PMUREG(0x0814)
>  #define S5P_INFORM6                            S5P_PMUREG(0x0818)
>  #define S5P_INFORM7                            S5P_PMUREG(0x081C)
> +#define S5P_PMU_SPARE3                         S5P_PMUREG(0x090C)
> 
>  #define S5P_ARM_CORE0_LOWPWR                   S5P_PMUREG(0x1000)
>  #define S5P_DIS_IRQ_CORE0                      S5P_PMUREG(0x1004)
> @@ -322,4 +323,6 @@
> 
>  #define EXYNOS5_OPTION_USE_RETENTION                           (1 << 4)
> 
> +#define EXYNOS5420_SWRESET_KFC_SEL                             0x3
> +
>  #endif /* __ASM_ARCH_REGS_PMU_H */
> --
> 1.7.9.5
> 
> 

  reply	other threads:[~2014-05-13 16:48 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-13 11:58 [PATCH v6 0/5] MCPM backend for Exynos5420 Abhilash Kesavan
2014-05-13 11:58 ` [PATCH v6 1/5] ARM: EXYNOS: Add generic cpu power control functions for all exynos based SoCs Abhilash Kesavan
2014-05-13 11:58 ` [PATCH v6 2/5] ARM: EXYNOS: use generic exynos cpu power control functions Abhilash Kesavan
2014-05-13 11:58 ` [PATCH v6 3/5] arm: exynos: Add generic cluster " Abhilash Kesavan
2014-05-13 11:58 ` [PATCH v6 4/5] ARM: dts: exynos5420: add CCI node Abhilash Kesavan
2014-05-13 11:58 ` [PATCH v6 5/5] arm: exynos: Add MCPM call-back functions Abhilash Kesavan
2014-05-13 16:48   ` Lorenzo Pieralisi [this message]
2014-05-14  2:44     ` Abhilash Kesavan
2014-05-14  2:54       ` Chander Kashyap
2014-05-14  3:02         ` Abhilash Kesavan
2014-05-14  3:02         ` Nicolas Pitre
2014-05-14  3:20           ` Chander Kashyap
2014-05-14  3:34             ` Nicolas Pitre
2014-05-14  7:24   ` [PATCH v7 " Abhilash Kesavan
2014-05-13 17:55 ` [PATCH v6 0/5] MCPM backend for Exynos5420 Nicolas Pitre
2014-05-14  4:15   ` Abhilash Kesavan
2014-05-14  4:45     ` Nicolas Pitre
2014-05-14  7:34       ` Abhilash Kesavan
2014-05-14 13:33         ` Nicolas Pitre
2014-05-14 13:39           ` Abhilash Kesavan
2014-05-15 15:49             ` Abhilash Kesavan
2014-05-15 16:52               ` Nicolas Pitre
2014-05-16 23:55                 ` Kukjin Kim
2014-05-19  2:38                   ` Abhilash Kesavan
2014-05-19  2:38                 ` Abhilash Kesavan
2014-05-20  3:30                   ` Nicolas Pitre
2014-05-20  4:42                     ` Abhilash Kesavan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140513164845.GA10210@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).