Path: blob/master/arch/mips/powertv/asic/asic-cronus.c
10818 views
/*1* Locations of devices in the Cronus ASIC2*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 CRONUS_ADDR(x) (CRONUS_IO_BASE + (x))2930const struct register_map cronus_register_map __initdata = {31.eic_slow0_strt_add = {.phys = CRONUS_ADDR(0x000000)},32.eic_cfg_bits = {.phys = CRONUS_ADDR(0x000038)},33.eic_ready_status = {.phys = CRONUS_ADDR(0x00004C)},3435.chipver3 = {.phys = CRONUS_ADDR(0x2A0800)},36.chipver2 = {.phys = CRONUS_ADDR(0x2A0804)},37.chipver1 = {.phys = CRONUS_ADDR(0x2A0808)},38.chipver0 = {.phys = CRONUS_ADDR(0x2A080C)},3940/* The registers of IRBlaster */41.uart1_intstat = {.phys = CRONUS_ADDR(0x2A1800)},42.uart1_inten = {.phys = CRONUS_ADDR(0x2A1804)},43.uart1_config1 = {.phys = CRONUS_ADDR(0x2A1808)},44.uart1_config2 = {.phys = CRONUS_ADDR(0x2A180C)},45.uart1_divisorhi = {.phys = CRONUS_ADDR(0x2A1810)},46.uart1_divisorlo = {.phys = CRONUS_ADDR(0x2A1814)},47.uart1_data = {.phys = CRONUS_ADDR(0x2A1818)},48.uart1_status = {.phys = CRONUS_ADDR(0x2A181C)},4950.int_stat_3 = {.phys = CRONUS_ADDR(0x2A2800)},51.int_stat_2 = {.phys = CRONUS_ADDR(0x2A2804)},52.int_stat_1 = {.phys = CRONUS_ADDR(0x2A2808)},53.int_stat_0 = {.phys = CRONUS_ADDR(0x2A280C)},54.int_config = {.phys = CRONUS_ADDR(0x2A2810)},55.int_int_scan = {.phys = CRONUS_ADDR(0x2A2818)},56.ien_int_3 = {.phys = CRONUS_ADDR(0x2A2830)},57.ien_int_2 = {.phys = CRONUS_ADDR(0x2A2834)},58.ien_int_1 = {.phys = CRONUS_ADDR(0x2A2838)},59.ien_int_0 = {.phys = CRONUS_ADDR(0x2A283C)},60.int_level_3_3 = {.phys = CRONUS_ADDR(0x2A2880)},61.int_level_3_2 = {.phys = CRONUS_ADDR(0x2A2884)},62.int_level_3_1 = {.phys = CRONUS_ADDR(0x2A2888)},63.int_level_3_0 = {.phys = CRONUS_ADDR(0x2A288C)},64.int_level_2_3 = {.phys = CRONUS_ADDR(0x2A2890)},65.int_level_2_2 = {.phys = CRONUS_ADDR(0x2A2894)},66.int_level_2_1 = {.phys = CRONUS_ADDR(0x2A2898)},67.int_level_2_0 = {.phys = CRONUS_ADDR(0x2A289C)},68.int_level_1_3 = {.phys = CRONUS_ADDR(0x2A28A0)},69.int_level_1_2 = {.phys = CRONUS_ADDR(0x2A28A4)},70.int_level_1_1 = {.phys = CRONUS_ADDR(0x2A28A8)},71.int_level_1_0 = {.phys = CRONUS_ADDR(0x2A28AC)},72.int_level_0_3 = {.phys = CRONUS_ADDR(0x2A28B0)},73.int_level_0_2 = {.phys = CRONUS_ADDR(0x2A28B4)},74.int_level_0_1 = {.phys = CRONUS_ADDR(0x2A28B8)},75.int_level_0_0 = {.phys = CRONUS_ADDR(0x2A28BC)},76.int_docsis_en = {.phys = CRONUS_ADDR(0x2A28F4)},7778.mips_pll_setup = {.phys = CRONUS_ADDR(0x1C0000)},79.fs432x4b4_usb_ctl = {.phys = CRONUS_ADDR(0x1C0028)},80.test_bus = {.phys = CRONUS_ADDR(0x1C00CC)},81.crt_spare = {.phys = CRONUS_ADDR(0x1c00d4)},82.usb2_ohci_int_mask = {.phys = CRONUS_ADDR(0x20000C)},83.usb2_strap = {.phys = CRONUS_ADDR(0x200014)},84.ehci_hcapbase = {.phys = CRONUS_ADDR(0x21FE00)},85.ohci_hc_revision = {.phys = CRONUS_ADDR(0x21fc00)},86.bcm1_bs_lmi_steer = {.phys = CRONUS_ADDR(0x2E0008)},87.usb2_control = {.phys = CRONUS_ADDR(0x2E004C)},88.usb2_stbus_obc = {.phys = CRONUS_ADDR(0x21FF00)},89.usb2_stbus_mess_size = {.phys = CRONUS_ADDR(0x21FF04)},90.usb2_stbus_chunk_size = {.phys = CRONUS_ADDR(0x21FF08)},9192.pcie_regs = {.phys = CRONUS_ADDR(0x220000)},93.tim_ch = {.phys = CRONUS_ADDR(0x2A2C10)},94.tim_cl = {.phys = CRONUS_ADDR(0x2A2C14)},95.gpio_dout = {.phys = CRONUS_ADDR(0x2A2C20)},96.gpio_din = {.phys = CRONUS_ADDR(0x2A2C24)},97.gpio_dir = {.phys = CRONUS_ADDR(0x2A2C2C)},98.watchdog = {.phys = CRONUS_ADDR(0x2A2C30)},99.front_panel = {.phys = CRONUS_ADDR(0x2A3800)},100};101102103