cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

simtec-pm.c (1324B)


      1// SPDX-License-Identifier: GPL-2.0
      2//
      3// Copyright 2004 Simtec Electronics
      4//	Ben Dooks <ben@simtec.co.uk>
      5//
      6// http://armlinux.simtec.co.uk/
      7//
      8// Power Management helpers for Simtec S3C24XX implementations
      9
     10#include <linux/kernel.h>
     11#include <linux/types.h>
     12#include <linux/interrupt.h>
     13#include <linux/list.h>
     14#include <linux/timer.h>
     15#include <linux/init.h>
     16#include <linux/device.h>
     17#include <linux/io.h>
     18
     19#include <asm/mach/arch.h>
     20#include <asm/mach/map.h>
     21
     22#include "map.h"
     23#include "regs-gpio.h"
     24
     25#include <asm/mach-types.h>
     26
     27#include "pm.h"
     28
     29#include "regs-mem-s3c24xx.h"
     30
     31#define COPYRIGHT ", Copyright 2005 Simtec Electronics"
     32
     33/* pm_simtec_init
     34 *
     35 * enable the power management functions
     36*/
     37
     38static __init int pm_simtec_init(void)
     39{
     40	unsigned long gstatus4;
     41
     42	/* check which machine we are running on */
     43
     44	if (!machine_is_bast() && !machine_is_vr1000() &&
     45	    !machine_is_anubis() && !machine_is_osiris() &&
     46	    !machine_is_aml_m5900())
     47		return 0;
     48
     49	printk(KERN_INFO "Simtec Board Power Management" COPYRIGHT "\n");
     50
     51	gstatus4  = (__raw_readl(S3C2410_BANKCON7) & 0x3) << 30;
     52	gstatus4 |= (__raw_readl(S3C2410_BANKCON6) & 0x3) << 28;
     53	gstatus4 |= (__raw_readl(S3C2410_BANKSIZE) & S3C2410_BANKSIZE_MASK);
     54
     55	__raw_writel(gstatus4, S3C2410_GSTATUS4);
     56
     57	return s3c_pm_init();
     58}
     59
     60arch_initcall(pm_simtec_init);