third_party.pigweed.src/targets/lm3s6965evb-qemu/early_boot.c
Ewout van Bekkum 712cbfb017 lm3s6965evb-qemu: move early_boot into targets/*
Updates targets/lm3s6965evb-qemu/* and its sys_io counterpart to
match targets/stm32f429i-disc1/* by moving the early boot and
vector tables out of sys_io.

Change-Id: If1f82d5bd242807d9c4914d207b7f332291de8cf
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/16700
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Armando Montanez <amontanez@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
2020-08-25 21:07:13 +00:00

31 lines
1.1 KiB
C

// Copyright 2020 The Pigweed Authors
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
#include "pw_boot_armv7m/boot.h"
#include "pw_sys_io_baremetal_lm3s6965evb/init.h"
void pw_boot_PreStaticMemoryInit() {
// Force RCC to be at default at boot.
const uint32_t kRccDefault = 0x078E3AD1U;
volatile uint32_t* rcc = (volatile uint32_t*)0x400FE070U;
*rcc = kRccDefault;
const uint32_t kRcc2Default = 0x07802810U;
volatile uint32_t* rcc2 = (volatile uint32_t*)0x400FE070U;
*rcc2 = kRcc2Default;
}
void pw_boot_PreStaticConstructorInit() {}
void pw_boot_PreMainInit() { pw_sys_io_Init(); }