Path: blob/master/arch/mips/powertv/asic/asic-calliope.c
10818 views
/*1* Locations of devices in the Calliope ASIC.2*3* Copyright (C) 2005-2009 Scientific-Atlanta, Inc.4*5* This program is free software; you can redistribute it and/or modify6* it under the terms of the GNU General Public License as published by7* the Free Software Foundation; either version 2 of the License, or8* (at your option) any later version.9*10* This program is distributed in the hope that it will be useful,11* but WITHOUT ANY WARRANTY; without even the implied warranty of12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13* GNU General Public License for more details.14*15* You should have received a copy of the GNU General Public License16* along with this program; if not, write to the Free Software17* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA18*19* Author: Ken Eppinett20* David Schleef <[email protected]>21*22* Description: Defines the platform resources for the SA settop.23*/2425#include <linux/init.h>26#include <asm/mach-powertv/asic.h>2728#define CALLIOPE_ADDR(x) (CALLIOPE_IO_BASE + (x))2930const struct register_map calliope_register_map __initdata = {31.eic_slow0_strt_add = {.phys = CALLIOPE_ADDR(0x800000)},32.eic_cfg_bits = {.phys = CALLIOPE_ADDR(0x800038)},33.eic_ready_status = {.phys = CALLIOPE_ADDR(0x80004c)},3435.chipver3 = {.phys = CALLIOPE_ADDR(0xA00800)},36.chipver2 = {.phys = CALLIOPE_ADDR(0xA00804)},37.chipver1 = {.phys = CALLIOPE_ADDR(0xA00808)},38.chipver0 = {.phys = CALLIOPE_ADDR(0xA0080c)},3940/* The registers of IRBlaster */41.uart1_intstat = {.phys = CALLIOPE_ADDR(0xA01800)},42.uart1_inten = {.phys = CALLIOPE_ADDR(0xA01804)},43.uart1_config1 = {.phys = CALLIOPE_ADDR(0xA01808)},44.uart1_config2 = {.phys = CALLIOPE_ADDR(0xA0180C)},45.uart1_divisorhi = {.phys = CALLIOPE_ADDR(0xA01810)},46.uart1_divisorlo = {.phys = CALLIOPE_ADDR(0xA01814)},47.uart1_data = {.phys = CALLIOPE_ADDR(0xA01818)},48.uart1_status = {.phys = CALLIOPE_ADDR(0xA0181C)},4950.int_stat_3 = {.phys = CALLIOPE_ADDR(0xA02800)},51.int_stat_2 = {.phys = CALLIOPE_ADDR(0xA02804)},52.int_stat_1 = {.phys = CALLIOPE_ADDR(0xA02808)},53.int_stat_0 = {.phys = CALLIOPE_ADDR(0xA0280c)},54.int_config = {.phys = CALLIOPE_ADDR(0xA02810)},55.int_int_scan = {.phys = CALLIOPE_ADDR(0xA02818)},56.ien_int_3 = {.phys = CALLIOPE_ADDR(0xA02830)},57.ien_int_2 = {.phys = CALLIOPE_ADDR(0xA02834)},58.ien_int_1 = {.phys = CALLIOPE_ADDR(0xA02838)},59.ien_int_0 = {.phys = CALLIOPE_ADDR(0xA0283c)},60.int_level_3_3 = {.phys = CALLIOPE_ADDR(0xA02880)},61.int_level_3_2 = {.phys = CALLIOPE_ADDR(0xA02884)},62.int_level_3_1 = {.phys = CALLIOPE_ADDR(0xA02888)},63.int_level_3_0 = {.phys = CALLIOPE_ADDR(0xA0288c)},64.int_level_2_3 = {.phys = CALLIOPE_ADDR(0xA02890)},65.int_level_2_2 = {.phys = CALLIOPE_ADDR(0xA02894)},66.int_level_2_1 = {.phys = CALLIOPE_ADDR(0xA02898)},67.int_level_2_0 = {.phys = CALLIOPE_ADDR(0xA0289c)},68.int_level_1_3 = {.phys = CALLIOPE_ADDR(0xA028a0)},69.int_level_1_2 = {.phys = CALLIOPE_ADDR(0xA028a4)},70.int_level_1_1 = {.phys = CALLIOPE_ADDR(0xA028a8)},71.int_level_1_0 = {.phys = CALLIOPE_ADDR(0xA028ac)},72.int_level_0_3 = {.phys = CALLIOPE_ADDR(0xA028b0)},73.int_level_0_2 = {.phys = CALLIOPE_ADDR(0xA028b4)},74.int_level_0_1 = {.phys = CALLIOPE_ADDR(0xA028b8)},75.int_level_0_0 = {.phys = CALLIOPE_ADDR(0xA028bc)},76.int_docsis_en = {.phys = CALLIOPE_ADDR(0xA028F4)},7778.mips_pll_setup = {.phys = CALLIOPE_ADDR(0x980000)},79.fs432x4b4_usb_ctl = {.phys = CALLIOPE_ADDR(0x980030)},80.test_bus = {.phys = CALLIOPE_ADDR(0x9800CC)},81.crt_spare = {.phys = CALLIOPE_ADDR(0x9800d4)},82.usb2_ohci_int_mask = {.phys = CALLIOPE_ADDR(0x9A000c)},83.usb2_strap = {.phys = CALLIOPE_ADDR(0x9A0014)},84.ehci_hcapbase = {.phys = CALLIOPE_ADDR(0x9BFE00)},85.ohci_hc_revision = {.phys = CALLIOPE_ADDR(0x9BFC00)},86.bcm1_bs_lmi_steer = {.phys = CALLIOPE_ADDR(0x9E0004)},87.usb2_control = {.phys = CALLIOPE_ADDR(0x9E0054)},88.usb2_stbus_obc = {.phys = CALLIOPE_ADDR(0x9BFF00)},89.usb2_stbus_mess_size = {.phys = CALLIOPE_ADDR(0x9BFF04)},90.usb2_stbus_chunk_size = {.phys = CALLIOPE_ADDR(0x9BFF08)},9192.pcie_regs = {.phys = 0x000000}, /* -doesn't exist- */93.tim_ch = {.phys = CALLIOPE_ADDR(0xA02C10)},94.tim_cl = {.phys = CALLIOPE_ADDR(0xA02C14)},95.gpio_dout = {.phys = CALLIOPE_ADDR(0xA02c20)},96.gpio_din = {.phys = CALLIOPE_ADDR(0xA02c24)},97.gpio_dir = {.phys = CALLIOPE_ADDR(0xA02c2C)},98.watchdog = {.phys = CALLIOPE_ADDR(0xA02c30)},99.front_panel = {.phys = 0x000000}, /* -not used- */100};101102103