Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/arch/arm/mach-omap2/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  am33xx-restart.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0-only
/*
 * am33xx-restart.c - Code common to all AM33xx machines.
 */

#include <dt-bindings/pinctrl/am33xx.h>
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/reboot.h>

#include "common.h"
#include "control.h"
#include "prm.h"

/*
 * Advisory 1.0.36 EMU0 and EMU1: Terminals Must be Pulled High Before
 * ICEPick Samples
 *
 * If EMU0/EMU1 pins have been used as GPIO outputs and actively driving low
 * level, the device might not reboot in normal mode. We are in a bad position
 * to override GPIO state here, so just switch the pins into EMU input mode
 * (that's what reset will do anyway) and wait a bit, because the state will be
 * latched 190 ns after reset.
 */

static void am33xx_advisory_1_0_36(void)
{
 u32 emu0 = omap_ctrl_readl(AM335X_PIN_EMU0);
 u32 emu1 = omap_ctrl_readl(AM335X_PIN_EMU1);

 /* If both pins are in EMU mode, nothing to do */
 if (!(emu0 & 7) && !(emu1 & 7))
  return;

 /* Switch GPIO3_7/GPIO3_8 into EMU0/EMU1 modes respectively */
 omap_ctrl_writel(emu0 & ~7, AM335X_PIN_EMU0);
 omap_ctrl_writel(emu1 & ~7, AM335X_PIN_EMU1);

 /*
 * Give pull-ups time to load the pin/PCB trace capacity.
 * 5 ms shall be enough to load 1 uF (would be huge capacity for these
 * pins) with TI-recommended 4k7 external pull-ups.
 */

 mdelay(5);
}

/**
 * am33xx_restart - trigger a software restart of the SoC
 * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c
 * @cmd: passed from the userspace program rebooting the system (if provided)
 *
 * Resets the SoC.  For @cmd, see the 'reboot' syscall in
 * kernel/sys.c.  No return value.
 */

void am33xx_restart(enum reboot_mode mode, const char *cmd)
{
 am33xx_advisory_1_0_36();

 /* TODO: Handle cmd if necessary */
 prm_reboot_mode = mode;

 omap_prm_reset_system();
}

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

¤ Dauer der Verarbeitung: 0.19 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.