summaryrefslogtreecommitdiff
path: root/Silicon/Socionext/SynQuacer/Include/Platform/Pcie.h
blob: 950cece13e81ef1e9d850627580f07572def093b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/** @file
  PCI memory configuration for SynQuacer

  Copyright (c) 2017, Linaro Ltd. All rights reserved.<BR>

  This program and the accompanying materials are licensed and made available
  under the terms and conditions of the BSD License which accompanies this
  distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php.

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#ifndef _SYNQUACER_PLATFORM_PCI_H_
#define _SYNQUACER_PLATFORM_PCI_H_

#define SYNQUACER_PCI_SEG0_CONFIG_BASE      0x60000000
#define SYNQUACER_PCI_SEG0_CONFIG_SIZE      0x07f00000
#define SYNQUACER_PCI_SEG0_DBI_BASE         0x583d0000
#define SYNQUACER_PCI_SEG0_EXS_BASE         0x58390000

#define SYNQUACER_PCI_SEG0_BUSNUM_MIN       0x0
#define SYNQUACER_PCI_SEG0_BUSNUM_MAX       0x7e
#define SYNQUACER_PCI_SEG0_BUSNUM_RANGE     0x7f

#define SYNQUACER_PCI_SEG0_PORTIO_MIN       0x0
#define SYNQUACER_PCI_SEG0_PORTIO_MAX       0xffff
#define SYNQUACER_PCI_SEG0_PORTIO_MEMBASE   0x67f00000
#define SYNQUACER_PCI_SEG0_PORTIO_MEMSIZE   0x10000
#define SYNQUACER_PCI_SEG0_PORTIO_OFFSET    0x0

#define SYNQUACER_PCI_SEG0_MMIO32_MIN       0x68000000
#define SYNQUACER_PCI_SEG0_MMIO32_MAX       0x6fffffff
#define SYNQUACER_PCI_SEG0_MMIO32_SIZE      0x08000000

#define SYNQUACER_PCI_SEG0_MMIO64_MIN       0x3e00000000
#define SYNQUACER_PCI_SEG0_MMIO64_MAX       0x3effffffff
#define SYNQUACER_PCI_SEG0_MMIO64_SIZE      0x100000000

#define SYNQUACER_PCI_SEG1_CONFIG_BASE      0x70000000
#define SYNQUACER_PCI_SEG1_CONFIG_SIZE      0x07f00000
#define SYNQUACER_PCI_SEG1_DBI_BASE         0x583c0000
#define SYNQUACER_PCI_SEG1_EXS_BASE         0x58380000

#define SYNQUACER_PCI_SEG1_BUSNUM_MIN       0x0
#define SYNQUACER_PCI_SEG1_BUSNUM_MAX       0x7e
#define SYNQUACER_PCI_SEG1_BUSNUM_RANGE     0x7f

#define SYNQUACER_PCI_SEG1_PORTIO_MIN       0x0
#define SYNQUACER_PCI_SEG1_PORTIO_MAX       0xffff
#define SYNQUACER_PCI_SEG1_PORTIO_MEMBASE   0x77f00000
#define SYNQUACER_PCI_SEG1_PORTIO_MEMSIZE   0x10000
#define SYNQUACER_PCI_SEG1_PORTIO_OFFSET    0x10000

#define SYNQUACER_PCI_SEG1_MMIO32_MIN       0x78000000
#define SYNQUACER_PCI_SEG1_MMIO32_MAX       0x7fffffff
#define SYNQUACER_PCI_SEG1_MMIO32_SIZE      0x08000000

#define SYNQUACER_PCI_SEG1_MMIO64_MIN       0x3f00000000
#define SYNQUACER_PCI_SEG1_MMIO64_MAX       0x3fffffffff
#define SYNQUACER_PCI_SEG1_MMIO64_SIZE      0x100000000

#define SYNQUACER_PCI_LOCATION(s,b,d)       (((s) << 16) | ((b) << 8) | (d))
#define SYNQUACER_PCI_SLOT0_LOCATION        SYNQUACER_PCI_LOCATION(1, 0, 0)
#define SYNQUACER_PCI_SLOT1_LOCATION        SYNQUACER_PCI_LOCATION(0, 1, 3)
#define SYNQUACER_PCI_SLOT2_LOCATION        SYNQUACER_PCI_LOCATION(0, 1, 7)

#endif