From aee84263363e4fdc2b7e4762f0b4c7c68a48bea1 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Tue, 23 Sep 2014 15:47:30 -0700 Subject: pinky: implement hard_reset this change implements hard_reset, which resets the board. BUG=none TEST=Booted Pinky BRANCH=none Change-Id: Iefb9d96fbddc77892191b62cc2bd0fe6054c3857 Signed-off-by: Patrick Georgi Original-Commit-Id: 17633fc8d4132d99c5b4f9f208bf9bd0fbb0773b Original-Signed-off-by: Daisuke Nojiri Original-Change-Id: Ia375644be01aa4c2c078ba8c7df94e316d155402 Original-Reviewed-on: https://chromium-review.googlesource.com/219624 Original-Reviewed-by: Daisuke Nojiri Original-Commit-Queue: Daisuke Nojiri Original-Tested-by: Daisuke Nojiri Reviewed-on: http://review.coreboot.org/8874 Reviewed-by: Stefan Reinauer Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) --- src/mainboard/google/veyron_pinky/Kconfig | 1 + src/mainboard/google/veyron_pinky/Makefile.inc | 6 +++++- src/mainboard/google/veyron_pinky/reset.c | 28 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 src/mainboard/google/veyron_pinky/reset.c diff --git a/src/mainboard/google/veyron_pinky/Kconfig b/src/mainboard/google/veyron_pinky/Kconfig index 8db35ab25c..beacefead5 100644 --- a/src/mainboard/google/veyron_pinky/Kconfig +++ b/src/mainboard/google/veyron_pinky/Kconfig @@ -28,6 +28,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select SOC_ROCKCHIP_RK3288 select MAINBOARD_DO_NATIVE_VGA_INIT select BOARD_ROMSIZE_KB_4096 + select HAVE_HARD_RESET config MAINBOARD_DIR string diff --git a/src/mainboard/google/veyron_pinky/Makefile.inc b/src/mainboard/google/veyron_pinky/Makefile.inc index 7b49a559b8..4936672082 100644 --- a/src/mainboard/google/veyron_pinky/Makefile.inc +++ b/src/mainboard/google/veyron_pinky/Makefile.inc @@ -16,12 +16,16 @@ ## along with this program; if not, write to the Free Software ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## +bootblock-y += reset.c + +verstage-y += reset.c romstage-y += romstage.c romstage-y += chromeos.c romstage-y += sdram_configs.c +romstage-y += reset.c ramstage-y += boardid.c ramstage-y += chromeos.c ramstage-y += mainboard.c - +ramstage-y += reset.c diff --git a/src/mainboard/google/veyron_pinky/reset.c b/src/mainboard/google/veyron_pinky/reset.c new file mode 100644 index 0000000000..fa90f549bd --- /dev/null +++ b/src/mainboard/google/veyron_pinky/reset.c @@ -0,0 +1,28 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2014 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include +#include + +void hard_reset(void) +{ + gpio_output((gpio_t){.port = 0, .bank = GPIO_B, .idx = 2}, 1); + while (1); +} -- cgit v1.2.3