Sync changes between boards
This commit is contained in:
parent
bcfa931f12
commit
2388892649
10
src/board/system76/darp5/ecpm.c
Normal file
10
src/board/system76/darp5/ecpm.c
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include <board/ecpm.h>
|
||||||
|
|
||||||
|
void ecpm_init(void) {
|
||||||
|
// Clock gate EGPC, CIR, and SWUC
|
||||||
|
CGCTRL2 |= (1 << 6) | (1 << 5) | (1 << 4);
|
||||||
|
// Clock gate UART, SSPI, and DBGR
|
||||||
|
CGCTRL3 |= (1 << 2) | (1 << 1) | (1 << 0);
|
||||||
|
// Clock gate CEC
|
||||||
|
CGCTRL4 |= (1 << 0);
|
||||||
|
}
|
@ -44,11 +44,15 @@ void gpio_init() {
|
|||||||
|
|
||||||
// Set GPIO data
|
// Set GPIO data
|
||||||
GPDRA = 0;
|
GPDRA = 0;
|
||||||
|
// NC
|
||||||
GPDRB = (1 << 0);
|
GPDRB = (1 << 0);
|
||||||
GPDRC = 0;
|
GPDRC = 0;
|
||||||
|
// PWR_BTN#, SCI#, SMI#
|
||||||
GPDRD = (1 << 5) | (1 << 4) | (1 << 3);
|
GPDRD = (1 << 5) | (1 << 4) | (1 << 3);
|
||||||
GPDRE = 0;
|
GPDRE = 0;
|
||||||
|
// USB_PWR_EN#, H_PECI
|
||||||
GPDRF = 0xC0; // (1 << 7) | (1 << 6)
|
GPDRF = 0xC0; // (1 << 7) | (1 << 6)
|
||||||
|
// AIRPLAN_LED#
|
||||||
GPDRG = (1 << 6);
|
GPDRG = (1 << 6);
|
||||||
GPDRH = 0;
|
GPDRH = 0;
|
||||||
GPDRI = 0;
|
GPDRI = 0;
|
||||||
@ -66,15 +70,15 @@ void gpio_init() {
|
|||||||
// PCH_PWROK_EC
|
// PCH_PWROK_EC
|
||||||
GPCRA4 = GPIO_OUT;
|
GPCRA4 = GPIO_OUT;
|
||||||
// LED_BAT_CHG
|
// LED_BAT_CHG
|
||||||
GPCRA5 = GPIO_OUT | GPIO_UP;
|
GPCRA5 = GPIO_OUT;
|
||||||
// LED_BAT_FULL
|
// LED_BAT_FULL
|
||||||
GPCRA6 = GPIO_OUT | GPIO_UP;
|
GPCRA6 = GPIO_OUT;
|
||||||
// LED_PWR
|
// LED_PWR
|
||||||
GPCRA7 = GPIO_OUT | GPIO_UP;
|
GPCRA7 = GPIO_OUT;
|
||||||
// NC
|
// NC
|
||||||
GPCRB0 = GPIO_OUT | GPIO_UP;
|
GPCRB0 = GPIO_OUT;
|
||||||
// H_PROCHOT_EC
|
// H_PROCHOT_EC
|
||||||
GPCRB1 = GPIO_OUT | GPIO_UP;
|
GPCRB1 = GPIO_OUT;
|
||||||
// LAN_WAKEUP#
|
// LAN_WAKEUP#
|
||||||
GPCRB2 = GPIO_IN | GPIO_UP;
|
GPCRB2 = GPIO_IN | GPIO_UP;
|
||||||
// SMC_BAT
|
// SMC_BAT
|
||||||
@ -82,7 +86,7 @@ void gpio_init() {
|
|||||||
// SMD_BAT
|
// SMD_BAT
|
||||||
GPCRB4 = GPIO_ALT;
|
GPCRB4 = GPIO_ALT;
|
||||||
// GA20
|
// GA20
|
||||||
GPCRB5 = GPIO_OUT | GPIO_UP;
|
GPCRB5 = GPIO_OUT;
|
||||||
// AC_IN#
|
// AC_IN#
|
||||||
GPCRB6 = GPIO_IN | GPIO_UP;
|
GPCRB6 = GPIO_IN | GPIO_UP;
|
||||||
// FP_RST#
|
// FP_RST#
|
||||||
@ -96,13 +100,13 @@ void gpio_init() {
|
|||||||
// KSO16 (Darter)
|
// KSO16 (Darter)
|
||||||
GPCRC3 = GPIO_IN;
|
GPCRC3 = GPIO_IN;
|
||||||
// CNVI_DET#
|
// CNVI_DET#
|
||||||
GPCRC4 = GPIO_OUT | GPIO_UP;
|
GPCRC4 = GPIO_OUT;
|
||||||
// KSO17 (Darter)
|
// KSO17 (Darter)
|
||||||
GPCRC5 = GPIO_IN;
|
GPCRC5 = GPIO_IN;
|
||||||
// PM_PWROK
|
// PM_PWROK
|
||||||
GPCRC6 = GPIO_OUT;
|
GPCRC6 = GPIO_OUT;
|
||||||
// LED_ACIN
|
// LED_ACIN
|
||||||
GPCRC7 = GPIO_OUT | GPIO_UP;
|
GPCRC7 = GPIO_OUT;
|
||||||
// PWR_SW#
|
// PWR_SW#
|
||||||
GPCRD0 = GPIO_IN | GPIO_UP;
|
GPCRD0 = GPIO_IN | GPIO_UP;
|
||||||
// LID_SW#
|
// LID_SW#
|
||||||
@ -114,35 +118,35 @@ void gpio_init() {
|
|||||||
// SCI#
|
// SCI#
|
||||||
GPCRD4 = GPIO_IN;
|
GPCRD4 = GPIO_IN;
|
||||||
// PWR_BTN#
|
// PWR_BTN#
|
||||||
GPCRD5 = GPIO_OUT | GPIO_UP;
|
GPCRD5 = GPIO_OUT;
|
||||||
// CPU_FANSEN
|
// CPU_FANSEN
|
||||||
GPCRD6 = GPIO_IN;
|
GPCRD6 = GPIO_IN;
|
||||||
// SUSWARN#
|
// SUSWARN#
|
||||||
GPCRD7 = GPIO_IN;
|
GPCRD7 = GPIO_IN;
|
||||||
// SWI#
|
// SWI#
|
||||||
GPCRE0 = GPIO_OUT | GPIO_UP;
|
GPCRE0 = GPIO_OUT;
|
||||||
// EC_EN
|
// EC_EN
|
||||||
GPCRE1 = GPIO_OUT | GPIO_UP;
|
GPCRE1 = GPIO_OUT;
|
||||||
// PCH_SLP_WLAN#_R
|
// PCH_SLP_WLAN#_R
|
||||||
GPCRE2 = GPIO_IN;
|
GPCRE2 = GPIO_IN;
|
||||||
// VA_EC_EN
|
// VA_EC_EN
|
||||||
GPCRE3 = GPIO_OUT;
|
GPCRE3 = GPIO_OUT;
|
||||||
// DD_ON
|
// DD_ON
|
||||||
GPCRE4 = GPIO_OUT | GPIO_DOWN;
|
GPCRE4 = GPIO_OUT;
|
||||||
// EC_RSMRST#
|
// EC_RSMRST#
|
||||||
GPCRE5 = GPIO_OUT;
|
GPCRE5 = GPIO_OUT;
|
||||||
// SB_KBCRST#
|
// SB_KBCRST#
|
||||||
GPCRE6 = GPIO_OUT | GPIO_UP;
|
GPCRE6 = GPIO_OUT;
|
||||||
// AC_PRESENT / PM_PWROK
|
// AC_PRESENT / PM_PWROK
|
||||||
GPCRE7 = GPIO_OUT | GPIO_UP;
|
GPCRE7 = GPIO_OUT;
|
||||||
// 80CLK
|
// 80CLK
|
||||||
GPCRF0 = GPIO_IN;
|
GPCRF0 = GPIO_IN;
|
||||||
// USB_CHARGE_EN
|
// USB_CHARGE_EN
|
||||||
GPCRF1 = GPIO_OUT | GPIO_UP;
|
GPCRF1 = GPIO_OUT;
|
||||||
// 3IN1
|
// 3IN1
|
||||||
GPCRF2 = GPIO_IN | GPIO_UP;
|
GPCRF2 = GPIO_IN | GPIO_UP;
|
||||||
// BT_EN
|
// BT_EN
|
||||||
GPCRF3 = GPIO_OUT | GPIO_UP;
|
GPCRF3 = GPIO_OUT;
|
||||||
// TP_CLK
|
// TP_CLK
|
||||||
GPCRF4 = GPIO_ALT;
|
GPCRF4 = GPIO_ALT;
|
||||||
// TP_DATA
|
// TP_DATA
|
||||||
@ -152,9 +156,9 @@ void gpio_init() {
|
|||||||
// USB_PWR_EN#
|
// USB_PWR_EN#
|
||||||
GPCRF7 = GPIO_OUT;
|
GPCRF7 = GPIO_OUT;
|
||||||
// CCD_EN
|
// CCD_EN
|
||||||
GPCRG0 = GPIO_OUT | GPIO_UP;
|
GPCRG0 = GPIO_OUT;
|
||||||
// 3G_EN
|
// 3G_EN
|
||||||
GPCRG1 = GPIO_OUT | GPIO_UP;
|
GPCRG1 = GPIO_OUT;
|
||||||
// VDD3
|
// VDD3
|
||||||
GPCRG2 = GPIO_OUT;
|
GPCRG2 = GPIO_OUT;
|
||||||
// HSPI_CE#
|
// HSPI_CE#
|
||||||
@ -164,7 +168,7 @@ void gpio_init() {
|
|||||||
// HSPI_MSO
|
// HSPI_MSO
|
||||||
GPCRG5 = GPIO_ALT;
|
GPCRG5 = GPIO_ALT;
|
||||||
// AIRPLAN_LED#
|
// AIRPLAN_LED#
|
||||||
GPCRG6 = GPIO_OUT | GPIO_UP;
|
GPCRG6 = GPIO_OUT;
|
||||||
// HCPI_SCLK
|
// HCPI_SCLK
|
||||||
GPCRG7 = GPIO_ALT;
|
GPCRG7 = GPIO_ALT;
|
||||||
// EC_CLKRUN#
|
// EC_CLKRUN#
|
||||||
@ -172,13 +176,13 @@ void gpio_init() {
|
|||||||
// SUSC#_PCH
|
// SUSC#_PCH
|
||||||
GPCRH1 = GPIO_IN;
|
GPCRH1 = GPIO_IN;
|
||||||
// BKL_EN
|
// BKL_EN
|
||||||
GPCRH2 = GPIO_OUT | GPIO_UP;
|
GPCRH2 = GPIO_OUT;
|
||||||
// NC
|
// NC
|
||||||
GPCRH3 = GPIO_OUT | GPIO_UP;
|
GPCRH3 = GPIO_OUT;
|
||||||
// VR_ON
|
// VR_ON
|
||||||
GPCRH4 = GPIO_IN;
|
GPCRH4 = GPIO_IN;
|
||||||
// WLAN_EN
|
// WLAN_EN
|
||||||
GPCRH5 = GPIO_OUT | GPIO_UP;
|
GPCRH5 = GPIO_OUT;
|
||||||
// SUSB#_PCH
|
// SUSB#_PCH
|
||||||
GPCRH6 = GPIO_IN;
|
GPCRH6 = GPIO_IN;
|
||||||
// Unknown
|
// Unknown
|
||||||
@ -208,11 +212,11 @@ void gpio_init() {
|
|||||||
// SOC_TYPE
|
// SOC_TYPE
|
||||||
GPCRJ3 = GPIO_IN;
|
GPCRJ3 = GPIO_IN;
|
||||||
// WLAN_PWR_EN
|
// WLAN_PWR_EN
|
||||||
GPCRJ4 = GPIO_OUT | GPIO_UP;
|
GPCRJ4 = GPIO_OUT;
|
||||||
// KBLIGHT_ADJ
|
// KBLIGHT_ADJ
|
||||||
GPCRJ5 = GPIO_OUT;
|
GPCRJ5 = GPIO_ALT;
|
||||||
// 3G_PWR_EN
|
// 3G_PWR_EN
|
||||||
GPCRJ6 = GPIO_OUT | GPIO_UP;
|
GPCRJ6 = GPIO_OUT;
|
||||||
// NC
|
// NC
|
||||||
GPCRJ7 = GPIO_IN;
|
GPCRJ7 = GPIO_IN;
|
||||||
// LPC_AD0
|
// LPC_AD0
|
||||||
|
8
src/board/system76/darp5/include/board/ecpm.h
Normal file
8
src/board/system76/darp5/include/board/ecpm.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef _BOARD_ECPM_H
|
||||||
|
#define _BOARD_ECPM_H
|
||||||
|
|
||||||
|
#include <ec/ecpm.h>
|
||||||
|
|
||||||
|
void ecpm_init(void);
|
||||||
|
|
||||||
|
#endif // _BOARD_ECPM_H
|
@ -7,6 +7,7 @@
|
|||||||
#include <arch/delay.h>
|
#include <arch/delay.h>
|
||||||
#include <arch/time.h>
|
#include <arch/time.h>
|
||||||
#include <board/battery.h>
|
#include <board/battery.h>
|
||||||
|
#include <board/ecpm.h>
|
||||||
#include <board/gpio.h>
|
#include <board/gpio.h>
|
||||||
#include <board/gctrl.h>
|
#include <board/gctrl.h>
|
||||||
#include <board/kbc.h>
|
#include <board/kbc.h>
|
||||||
@ -32,16 +33,18 @@ void timer_2(void) __interrupt(5) {}
|
|||||||
uint8_t main_cycle = 0;
|
uint8_t main_cycle = 0;
|
||||||
|
|
||||||
void init(void) {
|
void init(void) {
|
||||||
|
// Must happen first
|
||||||
arch_init();
|
arch_init();
|
||||||
|
|
||||||
gpio_init();
|
|
||||||
gctrl_init();
|
gctrl_init();
|
||||||
pwm_init();
|
gpio_init();
|
||||||
|
|
||||||
|
// Can happen in any order
|
||||||
|
ecpm_init();
|
||||||
kbc_init();
|
kbc_init();
|
||||||
kbscan_init();
|
kbscan_init();
|
||||||
pmc_init();
|
|
||||||
peci_init();
|
peci_init();
|
||||||
|
pmc_init();
|
||||||
|
pwm_init();
|
||||||
smbus_init();
|
smbus_init();
|
||||||
|
|
||||||
//TODO: INTC
|
//TODO: INTC
|
||||||
|
10
src/board/system76/lemp9/ecpm.c
Normal file
10
src/board/system76/lemp9/ecpm.c
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include <board/ecpm.h>
|
||||||
|
|
||||||
|
void ecpm_init(void) {
|
||||||
|
// Clock gate EGPC, CIR, and SWUC
|
||||||
|
CGCTRL2 |= (1 << 6) | (1 << 5) | (1 << 4);
|
||||||
|
// Clock gate UART, SSPI, and DBGR
|
||||||
|
CGCTRL3 |= (1 << 2) | (1 << 1) | (1 << 0);
|
||||||
|
// Clock gate CEC
|
||||||
|
CGCTRL4 |= (1 << 0);
|
||||||
|
}
|
8
src/board/system76/lemp9/include/board/ecpm.h
Normal file
8
src/board/system76/lemp9/include/board/ecpm.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef _BOARD_ECPM_H
|
||||||
|
#define _BOARD_ECPM_H
|
||||||
|
|
||||||
|
#include <ec/ecpm.h>
|
||||||
|
|
||||||
|
void ecpm_init(void);
|
||||||
|
|
||||||
|
#endif // _BOARD_ECPM_H
|
@ -7,6 +7,7 @@
|
|||||||
#include <arch/delay.h>
|
#include <arch/delay.h>
|
||||||
#include <arch/time.h>
|
#include <arch/time.h>
|
||||||
#include <board/battery.h>
|
#include <board/battery.h>
|
||||||
|
#include <board/ecpm.h>
|
||||||
#include <board/gpio.h>
|
#include <board/gpio.h>
|
||||||
#include <board/gctrl.h>
|
#include <board/gctrl.h>
|
||||||
#include <board/kbc.h>
|
#include <board/kbc.h>
|
||||||
@ -33,17 +34,19 @@ void timer_2(void) __interrupt(5) {}
|
|||||||
uint8_t main_cycle = 0;
|
uint8_t main_cycle = 0;
|
||||||
|
|
||||||
void init(void) {
|
void init(void) {
|
||||||
|
// Must happen first
|
||||||
arch_init();
|
arch_init();
|
||||||
|
|
||||||
gpio_init();
|
|
||||||
gctrl_init();
|
gctrl_init();
|
||||||
pwm_init();
|
gpio_init();
|
||||||
|
|
||||||
|
// Can happen in any order
|
||||||
|
ecpm_init();
|
||||||
kbc_init();
|
kbc_init();
|
||||||
kbled_init();
|
kbled_init();
|
||||||
kbscan_init();
|
kbscan_init();
|
||||||
pmc_init();
|
|
||||||
peci_init();
|
peci_init();
|
||||||
|
pmc_init();
|
||||||
|
pwm_init();
|
||||||
smbus_init();
|
smbus_init();
|
||||||
|
|
||||||
//TODO: INTC
|
//TODO: INTC
|
||||||
|
Loading…
x
Reference in New Issue
Block a user