Newer
Older
Atmosphere / stratosphere / boot / source / boot_pinmux_initial_drive_pad_configuration.hpp
@Michael Scire Michael Scire on 3 May 2019 2 KB boot: implement ConfigurePinmux
/*
 * Copyright (c) 2018-2019 Atmosphère-NX
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope 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, see <http://www.gnu.org/licenses/>.
 */

#pragma once
#include <switch.h>

#include "boot_types.hpp"

static constexpr PinmuxInitialConfig PinmuxInitialDrivePadConfigs[] = {
    {0x04, 0x01010000, 0x01F1F000},
    {0x0D, 0x01010000, 0x01F1F000},
    {0x10, 0x01010000, 0x01F1F000},
    {0x12, 0x01010000, 0x01F1F000},
    {0x13, 0x01010000, 0x01F1F000},
    {0x14, 0x0001F000, 0x01F1F000},
    {0x15, 0x0001F000, 0x01F1F000},
    {0x24, 0x01010000, 0x01F1F000},
    {0x25, 0x01010000, 0x01F1F000},
    {0x26, 0x01010000, 0x01F1F000},
    {0x27, 0x01010000, 0x01F1F000},
    {0x28, 0x01010000, 0x01F1F000},
    {0x29, 0x01010000, 0x01F1F000},
    {0x2A, 0x01010000, 0x01F1F000},
    {0x2B, 0x01010000, 0x01F1F000},
    {0x2C, 0x01F1F000, 0x01F1F000},
    {0x2D, 0x01F1F000, 0x01F1F000},
    {0x2F, 0x01F1F000, 0x01F1F000},
    {0x30, 0x01404000, 0x01F1F000},
    {0x31, 0x0001F000, 0x01F1F000},
    {0x32, 0x0001F000, 0x01F1F000},
    {0x33, 0x0001F000, 0x01F1F000},
    {0x34, 0x0001F000, 0x01F1F000},
    {0x35, 0x00007000, 0x01F1F000},
    {0x36, 0x00007000, 0x01F1F000},
    {0x46, 0x01010000, 0x01F1F000},
    {0x47, 0x01010000, 0x01F1F000},
    {0x4C, 0x01404000, 0x01F1F000},
    {0x4D, 0x01404000, 0x01F1F000},
    {0x62, 0x0001F000, 0x01F1F000},
    {0x63, 0x0001F000, 0x01F1F000},
    {0x7C, 0x01414000, 0x01F1F000},
    {0x87, 0x01404000, 0x01F1F000},
    {0x88, 0x01404000, 0x01F1F000},
    {0x89, 0x01404000, 0x01F1F000},
    {0x8A, 0x01404000, 0x01F1F000},
    {0x6D, 0x00000000, 0xF0000000},
    {0x6E, 0x00000000, 0xF0000000},
    {0x6F, 0x00000000, 0xF0000000},
    {0x70, 0x00000000, 0xF0000000},
    {0x71, 0x00000000, 0xF0000000},
    {0x72, 0x00000000, 0xF0000000},
    {0x73, 0x00000000, 0xF0000000},
    {0x74, 0x00000000, 0xF0000000},
    {0x75, 0x00000000, 0xF0000000},
    {0x76, 0x00000000, 0xF0000000},
    {0x69, 0x51212000, 0xF1F1F000},
};

static constexpr u32 PinmuxNumInitialDrivePadConfigs = (sizeof(PinmuxInitialDrivePadConfigs) / sizeof(PinmuxInitialDrivePadConfigs[0]));