Blame view

api/api_platform-powerpc.c 1.33 KB
500856eb1   Rafal Jaworowski   API for external ...
1
2
3
4
5
  /*
   * (C) Copyright 2007 Semihalf
   *
   * Written by: Rafal Jaworowski <raj@semihalf.com>
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
6
   * SPDX-License-Identifier:	GPL-2.0+
500856eb1   Rafal Jaworowski   API for external ...
7
8
9
   *
   * This file contains routines that fetch data from PowerPC-dependent sources
   * (bd_info etc.)
500856eb1   Rafal Jaworowski   API for external ...
10
11
12
   */
  
  #include <config.h>
500856eb1   Rafal Jaworowski   API for external ...
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  #include <linux/types.h>
  #include <api_public.h>
  
  #include <asm/u-boot.h>
  #include <asm/global_data.h>
  
  #include "api_private.h"
  
  DECLARE_GLOBAL_DATA_PTR;
  
  /*
   * Important notice: handling of individual fields MUST be kept in sync with
   * include/asm-ppc/u-boot.h and include/asm-ppc/global_data.h, so any changes
   * need to reflect their current state and layout of structures involved!
   */
  int platform_sys_info(struct sys_info *si)
  {
  	si->clk_bus = gd->bus_clk;
  	si->clk_cpu = gd->cpu_clk;
  
  #if defined(CONFIG_5xx) || defined(CONFIG_8xx) || defined(CONFIG_8260) || \
      defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
  #define bi_bar	bi_immr_base
  #elif defined(CONFIG_MPC5xxx)
  #define bi_bar	bi_mbar_base
0f8986049   Peter Tyser   83xx: Replace CON...
38
  #elif defined(CONFIG_MPC83xx)
500856eb1   Rafal Jaworowski   API for external ...
39
  #define bi_bar	bi_immrbar
500856eb1   Rafal Jaworowski   API for external ...
40
41
42
43
44
45
  #endif
  
  #if defined(bi_bar)
  	si->bar = gd->bd->bi_bar;
  #undef bi_bar
  #else
12c6670f8   Matthias Fuchs   api: fix type mis...
46
  	si->bar = 0;
500856eb1   Rafal Jaworowski   API for external ...
47
48
49
50
51
52
53
54
  #endif
  
  	platform_set_mr(si, gd->bd->bi_memstart, gd->bd->bi_memsize, MR_ATTR_DRAM);
  	platform_set_mr(si, gd->bd->bi_flashstart, gd->bd->bi_flashsize, MR_ATTR_FLASH);
  	platform_set_mr(si, gd->bd->bi_sramstart, gd->bd->bi_sramsize, MR_ATTR_SRAM);
  
  	return 1;
  }