Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/mips/cavium-octeon/executive/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  cvmx-helper-errata.c   Sprache: C

 
/***********************license start***************
 * Author: Cavium Networks
 *
 * Contact: support@caviumnetworks.com
 * This file is part of the OCTEON SDK
 *
 * Copyright (c) 2003-2008 Cavium Networks
 *
 * This file is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License, Version 2, as
 * published by the Free Software Foundation.
 *
 * This file is distributed in the hope that it will be useful, but
 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
 * NONINFRINGEMENT.  See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this file; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 * or visit http://www.gnu.org/licenses/.
 *
 * This file may also be available under a different license from Cavium.
 * Contact Cavium Networks for more information
 ***********************license end**************************************/


/**
 *
 * Fixes and workaround for Octeon chip errata. This file
 * contains functions called by cvmx-helper to workaround known
 * chip errata. For the most part, code doesn't need to call
 * these functions directly.
 *
 */

#include <linux/export.h>

#include <asm/octeon/octeon.h>

#include <asm/octeon/cvmx-helper-jtag.h>

/**
 * Due to errata G-720, the 2nd order CDR circuit on CN52XX pass
 * 1 doesn't work properly. The following code disables 2nd order
 * CDR for the specified QLM.
 *
 * @qlm:    QLM to disable 2nd order CDR for.
 */

void __cvmx_helper_errata_qlm_disable_2nd_order_cdr(int qlm)
{
 int lane;
 cvmx_helper_qlm_jtag_init();
 /* We need to load all four lanes of the QLM, a total of 1072 bits */
 for (lane = 0; lane < 4; lane++) {
  /*
 * Each lane has 268 bits. We need to set
 * cfg_cdr_incx<67:64> = 3 and cfg_cdr_secord<77> =
 * 1. All other bits are zero. Bits go in LSB first,
 * so start off with the zeros for bits <63:0>.
 */

  cvmx_helper_qlm_jtag_shift_zeros(qlm, 63 - 0 + 1);
  /* cfg_cdr_incx<67:64>=3 */
  cvmx_helper_qlm_jtag_shift(qlm, 67 - 64 + 1, 3);
  /* Zeros for bits <76:68> */
  cvmx_helper_qlm_jtag_shift_zeros(qlm, 76 - 68 + 1);
  /* cfg_cdr_secord<77>=1 */
  cvmx_helper_qlm_jtag_shift(qlm, 77 - 77 + 1, 1);
  /* Zeros for bits <267:78> */
  cvmx_helper_qlm_jtag_shift_zeros(qlm, 267 - 78 + 1);
 }
 cvmx_helper_qlm_jtag_update(qlm);
}
EXPORT_SYMBOL(__cvmx_helper_errata_qlm_disable_2nd_order_cdr);

Messung V0.5
C=96 H=92 G=93

¤ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.