14169b863SDavid Daney /***********************license start*************** 24169b863SDavid Daney * Author: Cavium Networks 34169b863SDavid Daney * 44169b863SDavid Daney * Contact: support@caviumnetworks.com 54169b863SDavid Daney * This file is part of the OCTEON SDK 64169b863SDavid Daney * 7c5aa59e8SDavid Daney * Copyright (c) 2003-2012 Cavium Networks 84169b863SDavid Daney * 94169b863SDavid Daney * This file is free software; you can redistribute it and/or modify 104169b863SDavid Daney * it under the terms of the GNU General Public License, Version 2, as 114169b863SDavid Daney * published by the Free Software Foundation. 124169b863SDavid Daney * 134169b863SDavid Daney * This file is distributed in the hope that it will be useful, but 144169b863SDavid Daney * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 154169b863SDavid Daney * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 164169b863SDavid Daney * NONINFRINGEMENT. See the GNU General Public License for more 174169b863SDavid Daney * details. 184169b863SDavid Daney * 194169b863SDavid Daney * You should have received a copy of the GNU General Public License 204169b863SDavid Daney * along with this file; if not, write to the Free Software 214169b863SDavid Daney * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 224169b863SDavid Daney * or visit http://www.gnu.org/licenses/. 234169b863SDavid Daney * 244169b863SDavid Daney * This file may also be available under a different license from Cavium. 254169b863SDavid Daney * Contact Cavium Networks for more information 264169b863SDavid Daney ***********************license end**************************************/ 274169b863SDavid Daney 28c5aa59e8SDavid Daney #ifndef __CVMX_UCTLX_DEFS_H__ 29c5aa59e8SDavid Daney #define __CVMX_UCTLX_DEFS_H__ 304169b863SDavid Daney 314169b863SDavid Daney #define CVMX_UCTLX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x000118006F0000A0ull)) 324169b863SDavid Daney #define CVMX_UCTLX_CLK_RST_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000000ull)) 334169b863SDavid Daney #define CVMX_UCTLX_EHCI_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000080ull)) 344169b863SDavid Daney #define CVMX_UCTLX_EHCI_FLA(block_id) (CVMX_ADD_IO_SEG(0x000118006F0000A8ull)) 354169b863SDavid Daney #define CVMX_UCTLX_ERTO_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000090ull)) 364169b863SDavid Daney #define CVMX_UCTLX_IF_ENA(block_id) (CVMX_ADD_IO_SEG(0x000118006F000030ull)) 374169b863SDavid Daney #define CVMX_UCTLX_INT_ENA(block_id) (CVMX_ADD_IO_SEG(0x000118006F000028ull)) 384169b863SDavid Daney #define CVMX_UCTLX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x000118006F000020ull)) 394169b863SDavid Daney #define CVMX_UCTLX_OHCI_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000088ull)) 404169b863SDavid Daney #define CVMX_UCTLX_ORTO_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000098ull)) 414169b863SDavid Daney #define CVMX_UCTLX_PPAF_WM(block_id) (CVMX_ADD_IO_SEG(0x000118006F000038ull)) 424169b863SDavid Daney #define CVMX_UCTLX_UPHY_CTL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x000118006F000008ull)) 434169b863SDavid Daney #define CVMX_UCTLX_UPHY_PORTX_CTL_STATUS(offset, block_id) (CVMX_ADD_IO_SEG(0x000118006F000010ull) + (((offset) & 1) + ((block_id) & 0) * 0x0ull) * 8) 444169b863SDavid Daney 454169b863SDavid Daney union cvmx_uctlx_bist_status { 464169b863SDavid Daney uint64_t u64; 474169b863SDavid Daney struct cvmx_uctlx_bist_status_s { 48c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 494169b863SDavid Daney uint64_t reserved_6_63:58; 504169b863SDavid Daney uint64_t data_bis:1; 514169b863SDavid Daney uint64_t desc_bis:1; 524169b863SDavid Daney uint64_t erbm_bis:1; 534169b863SDavid Daney uint64_t orbm_bis:1; 544169b863SDavid Daney uint64_t wrbm_bis:1; 554169b863SDavid Daney uint64_t ppaf_bis:1; 56c5aa59e8SDavid Daney #else 57c5aa59e8SDavid Daney uint64_t ppaf_bis:1; 58c5aa59e8SDavid Daney uint64_t wrbm_bis:1; 59c5aa59e8SDavid Daney uint64_t orbm_bis:1; 60c5aa59e8SDavid Daney uint64_t erbm_bis:1; 61c5aa59e8SDavid Daney uint64_t desc_bis:1; 62c5aa59e8SDavid Daney uint64_t data_bis:1; 63c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 64c5aa59e8SDavid Daney #endif 654169b863SDavid Daney } s; 66c5aa59e8SDavid Daney struct cvmx_uctlx_bist_status_s cn61xx; 674169b863SDavid Daney struct cvmx_uctlx_bist_status_s cn63xx; 684169b863SDavid Daney struct cvmx_uctlx_bist_status_s cn63xxp1; 69c5aa59e8SDavid Daney struct cvmx_uctlx_bist_status_s cn66xx; 70c5aa59e8SDavid Daney struct cvmx_uctlx_bist_status_s cn68xx; 71c5aa59e8SDavid Daney struct cvmx_uctlx_bist_status_s cn68xxp1; 72c5aa59e8SDavid Daney struct cvmx_uctlx_bist_status_s cnf71xx; 734169b863SDavid Daney }; 744169b863SDavid Daney 754169b863SDavid Daney union cvmx_uctlx_clk_rst_ctl { 764169b863SDavid Daney uint64_t u64; 774169b863SDavid Daney struct cvmx_uctlx_clk_rst_ctl_s { 78c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 794169b863SDavid Daney uint64_t reserved_25_63:39; 804169b863SDavid Daney uint64_t clear_bist:1; 814169b863SDavid Daney uint64_t start_bist:1; 824169b863SDavid Daney uint64_t ehci_sm:1; 834169b863SDavid Daney uint64_t ohci_clkcktrst:1; 844169b863SDavid Daney uint64_t ohci_sm:1; 854169b863SDavid Daney uint64_t ohci_susp_lgcy:1; 864169b863SDavid Daney uint64_t app_start_clk:1; 874169b863SDavid Daney uint64_t o_clkdiv_rst:1; 884169b863SDavid Daney uint64_t h_clkdiv_byp:1; 894169b863SDavid Daney uint64_t h_clkdiv_rst:1; 904169b863SDavid Daney uint64_t h_clkdiv_en:1; 914169b863SDavid Daney uint64_t o_clkdiv_en:1; 924169b863SDavid Daney uint64_t h_div:4; 934169b863SDavid Daney uint64_t p_refclk_sel:2; 944169b863SDavid Daney uint64_t p_refclk_div:2; 954169b863SDavid Daney uint64_t reserved_4_4:1; 964169b863SDavid Daney uint64_t p_com_on:1; 974169b863SDavid Daney uint64_t p_por:1; 984169b863SDavid Daney uint64_t p_prst:1; 994169b863SDavid Daney uint64_t hrst:1; 100c5aa59e8SDavid Daney #else 101c5aa59e8SDavid Daney uint64_t hrst:1; 102c5aa59e8SDavid Daney uint64_t p_prst:1; 103c5aa59e8SDavid Daney uint64_t p_por:1; 104c5aa59e8SDavid Daney uint64_t p_com_on:1; 105c5aa59e8SDavid Daney uint64_t reserved_4_4:1; 106c5aa59e8SDavid Daney uint64_t p_refclk_div:2; 107c5aa59e8SDavid Daney uint64_t p_refclk_sel:2; 108c5aa59e8SDavid Daney uint64_t h_div:4; 109c5aa59e8SDavid Daney uint64_t o_clkdiv_en:1; 110c5aa59e8SDavid Daney uint64_t h_clkdiv_en:1; 111c5aa59e8SDavid Daney uint64_t h_clkdiv_rst:1; 112c5aa59e8SDavid Daney uint64_t h_clkdiv_byp:1; 113c5aa59e8SDavid Daney uint64_t o_clkdiv_rst:1; 114c5aa59e8SDavid Daney uint64_t app_start_clk:1; 115c5aa59e8SDavid Daney uint64_t ohci_susp_lgcy:1; 116c5aa59e8SDavid Daney uint64_t ohci_sm:1; 117c5aa59e8SDavid Daney uint64_t ohci_clkcktrst:1; 118c5aa59e8SDavid Daney uint64_t ehci_sm:1; 119c5aa59e8SDavid Daney uint64_t start_bist:1; 120c5aa59e8SDavid Daney uint64_t clear_bist:1; 121c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 122c5aa59e8SDavid Daney #endif 1234169b863SDavid Daney } s; 124c5aa59e8SDavid Daney struct cvmx_uctlx_clk_rst_ctl_s cn61xx; 1254169b863SDavid Daney struct cvmx_uctlx_clk_rst_ctl_s cn63xx; 1264169b863SDavid Daney struct cvmx_uctlx_clk_rst_ctl_s cn63xxp1; 127c5aa59e8SDavid Daney struct cvmx_uctlx_clk_rst_ctl_s cn66xx; 128c5aa59e8SDavid Daney struct cvmx_uctlx_clk_rst_ctl_s cn68xx; 129c5aa59e8SDavid Daney struct cvmx_uctlx_clk_rst_ctl_s cn68xxp1; 130c5aa59e8SDavid Daney struct cvmx_uctlx_clk_rst_ctl_s cnf71xx; 1314169b863SDavid Daney }; 1324169b863SDavid Daney 1334169b863SDavid Daney union cvmx_uctlx_ehci_ctl { 1344169b863SDavid Daney uint64_t u64; 1354169b863SDavid Daney struct cvmx_uctlx_ehci_ctl_s { 136c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1374169b863SDavid Daney uint64_t reserved_20_63:44; 1384169b863SDavid Daney uint64_t desc_rbm:1; 1394169b863SDavid Daney uint64_t reg_nb:1; 1404169b863SDavid Daney uint64_t l2c_dc:1; 1414169b863SDavid Daney uint64_t l2c_bc:1; 1424169b863SDavid Daney uint64_t l2c_0pag:1; 1434169b863SDavid Daney uint64_t l2c_stt:1; 1444169b863SDavid Daney uint64_t l2c_buff_emod:2; 1454169b863SDavid Daney uint64_t l2c_desc_emod:2; 1464169b863SDavid Daney uint64_t inv_reg_a2:1; 1474169b863SDavid Daney uint64_t ehci_64b_addr_en:1; 1484169b863SDavid Daney uint64_t l2c_addr_msb:8; 149c5aa59e8SDavid Daney #else 150c5aa59e8SDavid Daney uint64_t l2c_addr_msb:8; 151c5aa59e8SDavid Daney uint64_t ehci_64b_addr_en:1; 152c5aa59e8SDavid Daney uint64_t inv_reg_a2:1; 153c5aa59e8SDavid Daney uint64_t l2c_desc_emod:2; 154c5aa59e8SDavid Daney uint64_t l2c_buff_emod:2; 155c5aa59e8SDavid Daney uint64_t l2c_stt:1; 156c5aa59e8SDavid Daney uint64_t l2c_0pag:1; 157c5aa59e8SDavid Daney uint64_t l2c_bc:1; 158c5aa59e8SDavid Daney uint64_t l2c_dc:1; 159c5aa59e8SDavid Daney uint64_t reg_nb:1; 160c5aa59e8SDavid Daney uint64_t desc_rbm:1; 161c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 162c5aa59e8SDavid Daney #endif 1634169b863SDavid Daney } s; 164c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_ctl_s cn61xx; 1654169b863SDavid Daney struct cvmx_uctlx_ehci_ctl_s cn63xx; 1664169b863SDavid Daney struct cvmx_uctlx_ehci_ctl_s cn63xxp1; 167c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_ctl_s cn66xx; 168c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_ctl_s cn68xx; 169c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_ctl_s cn68xxp1; 170c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_ctl_s cnf71xx; 1714169b863SDavid Daney }; 1724169b863SDavid Daney 1734169b863SDavid Daney union cvmx_uctlx_ehci_fla { 1744169b863SDavid Daney uint64_t u64; 1754169b863SDavid Daney struct cvmx_uctlx_ehci_fla_s { 176c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1774169b863SDavid Daney uint64_t reserved_6_63:58; 1784169b863SDavid Daney uint64_t fla:6; 179c5aa59e8SDavid Daney #else 180c5aa59e8SDavid Daney uint64_t fla:6; 181c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 182c5aa59e8SDavid Daney #endif 1834169b863SDavid Daney } s; 184c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_fla_s cn61xx; 1854169b863SDavid Daney struct cvmx_uctlx_ehci_fla_s cn63xx; 1864169b863SDavid Daney struct cvmx_uctlx_ehci_fla_s cn63xxp1; 187c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_fla_s cn66xx; 188c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_fla_s cn68xx; 189c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_fla_s cn68xxp1; 190c5aa59e8SDavid Daney struct cvmx_uctlx_ehci_fla_s cnf71xx; 1914169b863SDavid Daney }; 1924169b863SDavid Daney 1934169b863SDavid Daney union cvmx_uctlx_erto_ctl { 1944169b863SDavid Daney uint64_t u64; 1954169b863SDavid Daney struct cvmx_uctlx_erto_ctl_s { 196c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1974169b863SDavid Daney uint64_t reserved_32_63:32; 1984169b863SDavid Daney uint64_t to_val:27; 1994169b863SDavid Daney uint64_t reserved_0_4:5; 200c5aa59e8SDavid Daney #else 201c5aa59e8SDavid Daney uint64_t reserved_0_4:5; 202c5aa59e8SDavid Daney uint64_t to_val:27; 203c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 204c5aa59e8SDavid Daney #endif 2054169b863SDavid Daney } s; 206c5aa59e8SDavid Daney struct cvmx_uctlx_erto_ctl_s cn61xx; 2074169b863SDavid Daney struct cvmx_uctlx_erto_ctl_s cn63xx; 2084169b863SDavid Daney struct cvmx_uctlx_erto_ctl_s cn63xxp1; 209c5aa59e8SDavid Daney struct cvmx_uctlx_erto_ctl_s cn66xx; 210c5aa59e8SDavid Daney struct cvmx_uctlx_erto_ctl_s cn68xx; 211c5aa59e8SDavid Daney struct cvmx_uctlx_erto_ctl_s cn68xxp1; 212c5aa59e8SDavid Daney struct cvmx_uctlx_erto_ctl_s cnf71xx; 2134169b863SDavid Daney }; 2144169b863SDavid Daney 2154169b863SDavid Daney union cvmx_uctlx_if_ena { 2164169b863SDavid Daney uint64_t u64; 2174169b863SDavid Daney struct cvmx_uctlx_if_ena_s { 218c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2194169b863SDavid Daney uint64_t reserved_1_63:63; 2204169b863SDavid Daney uint64_t en:1; 221c5aa59e8SDavid Daney #else 222c5aa59e8SDavid Daney uint64_t en:1; 223c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 224c5aa59e8SDavid Daney #endif 2254169b863SDavid Daney } s; 226c5aa59e8SDavid Daney struct cvmx_uctlx_if_ena_s cn61xx; 2274169b863SDavid Daney struct cvmx_uctlx_if_ena_s cn63xx; 2284169b863SDavid Daney struct cvmx_uctlx_if_ena_s cn63xxp1; 229c5aa59e8SDavid Daney struct cvmx_uctlx_if_ena_s cn66xx; 230c5aa59e8SDavid Daney struct cvmx_uctlx_if_ena_s cn68xx; 231c5aa59e8SDavid Daney struct cvmx_uctlx_if_ena_s cn68xxp1; 232c5aa59e8SDavid Daney struct cvmx_uctlx_if_ena_s cnf71xx; 2334169b863SDavid Daney }; 2344169b863SDavid Daney 2354169b863SDavid Daney union cvmx_uctlx_int_ena { 2364169b863SDavid Daney uint64_t u64; 2374169b863SDavid Daney struct cvmx_uctlx_int_ena_s { 238c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2394169b863SDavid Daney uint64_t reserved_8_63:56; 2404169b863SDavid Daney uint64_t ec_ovf_e:1; 2414169b863SDavid Daney uint64_t oc_ovf_e:1; 2424169b863SDavid Daney uint64_t wb_pop_e:1; 2434169b863SDavid Daney uint64_t wb_psh_f:1; 2444169b863SDavid Daney uint64_t cf_psh_f:1; 2454169b863SDavid Daney uint64_t or_psh_f:1; 2464169b863SDavid Daney uint64_t er_psh_f:1; 2474169b863SDavid Daney uint64_t pp_psh_f:1; 248c5aa59e8SDavid Daney #else 249c5aa59e8SDavid Daney uint64_t pp_psh_f:1; 250c5aa59e8SDavid Daney uint64_t er_psh_f:1; 251c5aa59e8SDavid Daney uint64_t or_psh_f:1; 252c5aa59e8SDavid Daney uint64_t cf_psh_f:1; 253c5aa59e8SDavid Daney uint64_t wb_psh_f:1; 254c5aa59e8SDavid Daney uint64_t wb_pop_e:1; 255c5aa59e8SDavid Daney uint64_t oc_ovf_e:1; 256c5aa59e8SDavid Daney uint64_t ec_ovf_e:1; 257c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 258c5aa59e8SDavid Daney #endif 2594169b863SDavid Daney } s; 260c5aa59e8SDavid Daney struct cvmx_uctlx_int_ena_s cn61xx; 2614169b863SDavid Daney struct cvmx_uctlx_int_ena_s cn63xx; 2624169b863SDavid Daney struct cvmx_uctlx_int_ena_s cn63xxp1; 263c5aa59e8SDavid Daney struct cvmx_uctlx_int_ena_s cn66xx; 264c5aa59e8SDavid Daney struct cvmx_uctlx_int_ena_s cn68xx; 265c5aa59e8SDavid Daney struct cvmx_uctlx_int_ena_s cn68xxp1; 266c5aa59e8SDavid Daney struct cvmx_uctlx_int_ena_s cnf71xx; 2674169b863SDavid Daney }; 2684169b863SDavid Daney 2694169b863SDavid Daney union cvmx_uctlx_int_reg { 2704169b863SDavid Daney uint64_t u64; 2714169b863SDavid Daney struct cvmx_uctlx_int_reg_s { 272c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2734169b863SDavid Daney uint64_t reserved_8_63:56; 2744169b863SDavid Daney uint64_t ec_ovf_e:1; 2754169b863SDavid Daney uint64_t oc_ovf_e:1; 2764169b863SDavid Daney uint64_t wb_pop_e:1; 2774169b863SDavid Daney uint64_t wb_psh_f:1; 2784169b863SDavid Daney uint64_t cf_psh_f:1; 2794169b863SDavid Daney uint64_t or_psh_f:1; 2804169b863SDavid Daney uint64_t er_psh_f:1; 2814169b863SDavid Daney uint64_t pp_psh_f:1; 282c5aa59e8SDavid Daney #else 283c5aa59e8SDavid Daney uint64_t pp_psh_f:1; 284c5aa59e8SDavid Daney uint64_t er_psh_f:1; 285c5aa59e8SDavid Daney uint64_t or_psh_f:1; 286c5aa59e8SDavid Daney uint64_t cf_psh_f:1; 287c5aa59e8SDavid Daney uint64_t wb_psh_f:1; 288c5aa59e8SDavid Daney uint64_t wb_pop_e:1; 289c5aa59e8SDavid Daney uint64_t oc_ovf_e:1; 290c5aa59e8SDavid Daney uint64_t ec_ovf_e:1; 291c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 292c5aa59e8SDavid Daney #endif 2934169b863SDavid Daney } s; 294c5aa59e8SDavid Daney struct cvmx_uctlx_int_reg_s cn61xx; 2954169b863SDavid Daney struct cvmx_uctlx_int_reg_s cn63xx; 2964169b863SDavid Daney struct cvmx_uctlx_int_reg_s cn63xxp1; 297c5aa59e8SDavid Daney struct cvmx_uctlx_int_reg_s cn66xx; 298c5aa59e8SDavid Daney struct cvmx_uctlx_int_reg_s cn68xx; 299c5aa59e8SDavid Daney struct cvmx_uctlx_int_reg_s cn68xxp1; 300c5aa59e8SDavid Daney struct cvmx_uctlx_int_reg_s cnf71xx; 3014169b863SDavid Daney }; 3024169b863SDavid Daney 3034169b863SDavid Daney union cvmx_uctlx_ohci_ctl { 3044169b863SDavid Daney uint64_t u64; 3054169b863SDavid Daney struct cvmx_uctlx_ohci_ctl_s { 306c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3074169b863SDavid Daney uint64_t reserved_19_63:45; 3084169b863SDavid Daney uint64_t reg_nb:1; 3094169b863SDavid Daney uint64_t l2c_dc:1; 3104169b863SDavid Daney uint64_t l2c_bc:1; 3114169b863SDavid Daney uint64_t l2c_0pag:1; 3124169b863SDavid Daney uint64_t l2c_stt:1; 3134169b863SDavid Daney uint64_t l2c_buff_emod:2; 3144169b863SDavid Daney uint64_t l2c_desc_emod:2; 3154169b863SDavid Daney uint64_t inv_reg_a2:1; 3164169b863SDavid Daney uint64_t reserved_8_8:1; 3174169b863SDavid Daney uint64_t l2c_addr_msb:8; 318c5aa59e8SDavid Daney #else 319c5aa59e8SDavid Daney uint64_t l2c_addr_msb:8; 320c5aa59e8SDavid Daney uint64_t reserved_8_8:1; 321c5aa59e8SDavid Daney uint64_t inv_reg_a2:1; 322c5aa59e8SDavid Daney uint64_t l2c_desc_emod:2; 323c5aa59e8SDavid Daney uint64_t l2c_buff_emod:2; 324c5aa59e8SDavid Daney uint64_t l2c_stt:1; 325c5aa59e8SDavid Daney uint64_t l2c_0pag:1; 326c5aa59e8SDavid Daney uint64_t l2c_bc:1; 327c5aa59e8SDavid Daney uint64_t l2c_dc:1; 328c5aa59e8SDavid Daney uint64_t reg_nb:1; 329c5aa59e8SDavid Daney uint64_t reserved_19_63:45; 330c5aa59e8SDavid Daney #endif 3314169b863SDavid Daney } s; 332c5aa59e8SDavid Daney struct cvmx_uctlx_ohci_ctl_s cn61xx; 3334169b863SDavid Daney struct cvmx_uctlx_ohci_ctl_s cn63xx; 3344169b863SDavid Daney struct cvmx_uctlx_ohci_ctl_s cn63xxp1; 335c5aa59e8SDavid Daney struct cvmx_uctlx_ohci_ctl_s cn66xx; 336c5aa59e8SDavid Daney struct cvmx_uctlx_ohci_ctl_s cn68xx; 337c5aa59e8SDavid Daney struct cvmx_uctlx_ohci_ctl_s cn68xxp1; 338c5aa59e8SDavid Daney struct cvmx_uctlx_ohci_ctl_s cnf71xx; 3394169b863SDavid Daney }; 3404169b863SDavid Daney 3414169b863SDavid Daney union cvmx_uctlx_orto_ctl { 3424169b863SDavid Daney uint64_t u64; 3434169b863SDavid Daney struct cvmx_uctlx_orto_ctl_s { 344c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3454169b863SDavid Daney uint64_t reserved_32_63:32; 3464169b863SDavid Daney uint64_t to_val:24; 3474169b863SDavid Daney uint64_t reserved_0_7:8; 348c5aa59e8SDavid Daney #else 349c5aa59e8SDavid Daney uint64_t reserved_0_7:8; 350c5aa59e8SDavid Daney uint64_t to_val:24; 351c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 352c5aa59e8SDavid Daney #endif 3534169b863SDavid Daney } s; 354c5aa59e8SDavid Daney struct cvmx_uctlx_orto_ctl_s cn61xx; 3554169b863SDavid Daney struct cvmx_uctlx_orto_ctl_s cn63xx; 3564169b863SDavid Daney struct cvmx_uctlx_orto_ctl_s cn63xxp1; 357c5aa59e8SDavid Daney struct cvmx_uctlx_orto_ctl_s cn66xx; 358c5aa59e8SDavid Daney struct cvmx_uctlx_orto_ctl_s cn68xx; 359c5aa59e8SDavid Daney struct cvmx_uctlx_orto_ctl_s cn68xxp1; 360c5aa59e8SDavid Daney struct cvmx_uctlx_orto_ctl_s cnf71xx; 3614169b863SDavid Daney }; 3624169b863SDavid Daney 3634169b863SDavid Daney union cvmx_uctlx_ppaf_wm { 3644169b863SDavid Daney uint64_t u64; 3654169b863SDavid Daney struct cvmx_uctlx_ppaf_wm_s { 366c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3674169b863SDavid Daney uint64_t reserved_5_63:59; 3684169b863SDavid Daney uint64_t wm:5; 369c5aa59e8SDavid Daney #else 370c5aa59e8SDavid Daney uint64_t wm:5; 371c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 372c5aa59e8SDavid Daney #endif 3734169b863SDavid Daney } s; 374c5aa59e8SDavid Daney struct cvmx_uctlx_ppaf_wm_s cn61xx; 3754169b863SDavid Daney struct cvmx_uctlx_ppaf_wm_s cn63xx; 3764169b863SDavid Daney struct cvmx_uctlx_ppaf_wm_s cn63xxp1; 377c5aa59e8SDavid Daney struct cvmx_uctlx_ppaf_wm_s cn66xx; 378c5aa59e8SDavid Daney struct cvmx_uctlx_ppaf_wm_s cnf71xx; 3794169b863SDavid Daney }; 3804169b863SDavid Daney 3814169b863SDavid Daney union cvmx_uctlx_uphy_ctl_status { 3824169b863SDavid Daney uint64_t u64; 3834169b863SDavid Daney struct cvmx_uctlx_uphy_ctl_status_s { 384c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 3854169b863SDavid Daney uint64_t reserved_10_63:54; 3864169b863SDavid Daney uint64_t bist_done:1; 3874169b863SDavid Daney uint64_t bist_err:1; 3884169b863SDavid Daney uint64_t hsbist:1; 3894169b863SDavid Daney uint64_t fsbist:1; 3904169b863SDavid Daney uint64_t lsbist:1; 3914169b863SDavid Daney uint64_t siddq:1; 3924169b863SDavid Daney uint64_t vtest_en:1; 3934169b863SDavid Daney uint64_t uphy_bist:1; 3944169b863SDavid Daney uint64_t bist_en:1; 3954169b863SDavid Daney uint64_t ate_reset:1; 396c5aa59e8SDavid Daney #else 397c5aa59e8SDavid Daney uint64_t ate_reset:1; 398c5aa59e8SDavid Daney uint64_t bist_en:1; 399c5aa59e8SDavid Daney uint64_t uphy_bist:1; 400c5aa59e8SDavid Daney uint64_t vtest_en:1; 401c5aa59e8SDavid Daney uint64_t siddq:1; 402c5aa59e8SDavid Daney uint64_t lsbist:1; 403c5aa59e8SDavid Daney uint64_t fsbist:1; 404c5aa59e8SDavid Daney uint64_t hsbist:1; 405c5aa59e8SDavid Daney uint64_t bist_err:1; 406c5aa59e8SDavid Daney uint64_t bist_done:1; 407c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 408c5aa59e8SDavid Daney #endif 4094169b863SDavid Daney } s; 410c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_ctl_status_s cn61xx; 4114169b863SDavid Daney struct cvmx_uctlx_uphy_ctl_status_s cn63xx; 4124169b863SDavid Daney struct cvmx_uctlx_uphy_ctl_status_s cn63xxp1; 413c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_ctl_status_s cn66xx; 414c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_ctl_status_s cn68xx; 415c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_ctl_status_s cn68xxp1; 416c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_ctl_status_s cnf71xx; 4174169b863SDavid Daney }; 4184169b863SDavid Daney 4194169b863SDavid Daney union cvmx_uctlx_uphy_portx_ctl_status { 4204169b863SDavid Daney uint64_t u64; 4214169b863SDavid Daney struct cvmx_uctlx_uphy_portx_ctl_status_s { 422c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 4234169b863SDavid Daney uint64_t reserved_43_63:21; 4244169b863SDavid Daney uint64_t tdata_out:4; 4254169b863SDavid Daney uint64_t txbiststuffenh:1; 4264169b863SDavid Daney uint64_t txbiststuffen:1; 4274169b863SDavid Daney uint64_t dmpulldown:1; 4284169b863SDavid Daney uint64_t dppulldown:1; 4294169b863SDavid Daney uint64_t vbusvldext:1; 4304169b863SDavid Daney uint64_t portreset:1; 4314169b863SDavid Daney uint64_t txhsvxtune:2; 4324169b863SDavid Daney uint64_t txvreftune:4; 4334169b863SDavid Daney uint64_t txrisetune:1; 4344169b863SDavid Daney uint64_t txpreemphasistune:1; 4354169b863SDavid Daney uint64_t txfslstune:4; 4364169b863SDavid Daney uint64_t sqrxtune:3; 4374169b863SDavid Daney uint64_t compdistune:3; 4384169b863SDavid Daney uint64_t loop_en:1; 4394169b863SDavid Daney uint64_t tclk:1; 4404169b863SDavid Daney uint64_t tdata_sel:1; 4414169b863SDavid Daney uint64_t taddr_in:4; 4424169b863SDavid Daney uint64_t tdata_in:8; 443c5aa59e8SDavid Daney #else 444c5aa59e8SDavid Daney uint64_t tdata_in:8; 445c5aa59e8SDavid Daney uint64_t taddr_in:4; 446c5aa59e8SDavid Daney uint64_t tdata_sel:1; 447c5aa59e8SDavid Daney uint64_t tclk:1; 448c5aa59e8SDavid Daney uint64_t loop_en:1; 449c5aa59e8SDavid Daney uint64_t compdistune:3; 450c5aa59e8SDavid Daney uint64_t sqrxtune:3; 451c5aa59e8SDavid Daney uint64_t txfslstune:4; 452c5aa59e8SDavid Daney uint64_t txpreemphasistune:1; 453c5aa59e8SDavid Daney uint64_t txrisetune:1; 454c5aa59e8SDavid Daney uint64_t txvreftune:4; 455c5aa59e8SDavid Daney uint64_t txhsvxtune:2; 456c5aa59e8SDavid Daney uint64_t portreset:1; 457c5aa59e8SDavid Daney uint64_t vbusvldext:1; 458c5aa59e8SDavid Daney uint64_t dppulldown:1; 459c5aa59e8SDavid Daney uint64_t dmpulldown:1; 460c5aa59e8SDavid Daney uint64_t txbiststuffen:1; 461c5aa59e8SDavid Daney uint64_t txbiststuffenh:1; 462c5aa59e8SDavid Daney uint64_t tdata_out:4; 463c5aa59e8SDavid Daney uint64_t reserved_43_63:21; 464c5aa59e8SDavid Daney #endif 4654169b863SDavid Daney } s; 466c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_portx_ctl_status_s cn61xx; 4674169b863SDavid Daney struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xx; 4684169b863SDavid Daney struct cvmx_uctlx_uphy_portx_ctl_status_s cn63xxp1; 469c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_portx_ctl_status_s cn66xx; 470c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_portx_ctl_status_s cn68xx; 471c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_portx_ctl_status_s cn68xxp1; 472c5aa59e8SDavid Daney struct cvmx_uctlx_uphy_portx_ctl_status_s cnf71xx; 4734169b863SDavid Daney }; 4744169b863SDavid Daney 4754169b863SDavid Daney #endif 476