Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
ded4bc3a
U
U-Boot.Mirror
项目概览
OS
/
U-Boot.Mirror
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
U-Boot.Mirror
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ded4bc3a
编写于
2月 21, 2015
作者:
T
Tom Rini
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://git.denx.de/u-boot-sunxi
上级
46414296
77ef1369
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
192 addition
and
12 deletion
+192
-12
arch/arm/include/asm/arch-sunxi/clock_sun4i.h
arch/arm/include/asm/arch-sunxi/clock_sun4i.h
+9
-0
board/sunxi/Kconfig
board/sunxi/Kconfig
+48
-0
board/sunxi/board.c
board/sunxi/board.c
+10
-0
configs/Ampe_A76_defconfig
configs/Ampe_A76_defconfig
+1
-0
configs/Chuwi_V7_CW0825_defconfig
configs/Chuwi_V7_CW0825_defconfig
+1
-0
configs/Hyundai_A7HD_defconfig
configs/Hyundai_A7HD_defconfig
+1
-0
configs/Inet_86VS_defconfig
configs/Inet_86VS_defconfig
+1
-0
configs/TZX-Q8-713B7_defconfig
configs/TZX-Q8-713B7_defconfig
+1
-0
configs/UTOO_P66_defconfig
configs/UTOO_P66_defconfig
+21
-0
drivers/mmc/sunxi_mmc.c
drivers/mmc/sunxi_mmc.c
+1
-5
drivers/usb/musb-new/sunxi.c
drivers/usb/musb-new/sunxi.c
+29
-0
drivers/video/sunxi_display.c
drivers/video/sunxi_display.c
+17
-1
include/configs/sun4i.h
include/configs/sun4i.h
+2
-2
include/configs/sun5i.h
include/configs/sun5i.h
+2
-2
include/configs/sun7i.h
include/configs/sun7i.h
+2
-2
include/configs/sunxi-common.h
include/configs/sunxi-common.h
+46
-0
未找到文件。
arch/arm/include/asm/arch-sunxi/clock_sun4i.h
浏览文件 @
ded4bc3a
...
...
@@ -144,7 +144,16 @@ struct sunxi_ccm_reg {
#define PLL1_CFG_DEFAULT 0xa1005000
#if defined CONFIG_OLD_SUNXI_KERNEL_COMPAT && defined CONFIG_MACH_SUN5I
/*
* Older linux-sunxi-3.4 kernels override our PLL6 setting with 300 MHz,
* halving the mbus frequency, so set it to 300 MHz ourselves and base the
* mbus divider on that.
*/
#define PLL6_CFG_DEFAULT 0xa1009900
#else
#define PLL6_CFG_DEFAULT 0xa1009911
#endif
/* nand clock */
#define NAND_CLK_SRC_OSC24 0
...
...
board/sunxi/Kconfig
浏览文件 @
ded4bc3a
...
...
@@ -223,6 +223,14 @@ config USB0_VBUS_PIN
Set the Vbus enable pin for usb0 (otg). This takes a string in the
format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
config USB0_VBUS_DET
string "Vbus detect pin for usb0 (otg)"
depends on USB_MUSB_SUNXI
default ""
---help---
Set the Vbus detect pin for usb0 (otg). This takes a string in the
format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
config USB1_VBUS_PIN
string "Vbus enable pin for usb1 (ehci0)"
default "PH6" if MACH_SUN4I || MACH_SUN7I
...
...
@@ -312,6 +320,14 @@ config VIDEO_LCD_POWER
Set the power enable pin for the LCD panel. This takes a string in the
format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
config VIDEO_LCD_RESET
string "LCD panel reset pin"
depends on VIDEO
default ""
---help---
Set the reset pin for the LCD panel. This takes a string in the format
understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
config VIDEO_LCD_BL_EN
string "LCD panel backlight enable pin"
depends on VIDEO
...
...
@@ -336,6 +352,30 @@ config VIDEO_LCD_BL_PWM_ACTIVE_LOW
---help---
Set this if the backlight pwm output is active low.
config VIDEO_LCD_PANEL_I2C
bool "LCD panel needs to be configured via i2c"
depends on VIDEO
default m
---help---
Say y here if the LCD panel needs to be configured via i2c. This
will add a bitbang i2c controller using gpios to talk to the LCD.
config VIDEO_LCD_PANEL_I2C_SDA
string "LCD panel i2c interface SDA pin"
depends on VIDEO_LCD_PANEL_I2C
default "PG12"
---help---
Set the SDA pin for the LCD i2c interface. This takes a string in the
format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
config VIDEO_LCD_PANEL_I2C_SCL
string "LCD panel i2c interface SCL pin"
depends on VIDEO_LCD_PANEL_I2C
default "PG10"
---help---
Set the SCL pin for the LCD i2c interface. This takes a string in the
format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H.
# Note only one of these may be selected at a time! But hidden choices are
# not supported by Kconfig
...
...
@@ -374,6 +414,14 @@ config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
---help---
7.85" 1024x768 Hitachi tx18d42vm LCD panel support
config VIDEO_LCD_TL059WV5C0
bool "tl059wv5c0 LCD panel"
select VIDEO_LCD_PANEL_I2C
select VIDEO_LCD_IF_PARALLEL
---help---
6" 480x800 tl059wv5c0 panel support, as used on the Utoo P66 and
Aigo M60/M608/M606 tablets.
endchoice
...
...
board/sunxi/board.c
浏览文件 @
ded4bc3a
...
...
@@ -33,6 +33,12 @@
#include <linux/usb/musb.h>
#include <net.h>
#if defined CONFIG_VIDEO_LCD_PANEL_I2C && !(defined CONFIG_SPL_BUILD)
/* So that we can use pin names in Kconfig and sunxi_name_to_gpio() */
int
soft_i2c_gpio_sda
;
int
soft_i2c_gpio_scl
;
#endif
DECLARE_GLOBAL_DATA_PTR
;
/* add board specific code here */
...
...
@@ -152,6 +158,10 @@ void i2c_init_board(void)
sunxi_gpio_set_cfgpin
(
SUNXI_GPB
(
0
),
SUNXI_GPB0_TWI0
);
sunxi_gpio_set_cfgpin
(
SUNXI_GPB
(
1
),
SUNXI_GPB0_TWI0
);
clock_twi_onoff
(
0
,
1
);
#if defined CONFIG_VIDEO_LCD_PANEL_I2C && !(defined CONFIG_SPL_BUILD)
soft_i2c_gpio_sda
=
sunxi_name_to_gpio
(
CONFIG_VIDEO_LCD_PANEL_I2C_SDA
);
soft_i2c_gpio_scl
=
sunxi_name_to_gpio
(
CONFIG_VIDEO_LCD_PANEL_I2C_SCL
);
#endif
}
#ifdef CONFIG_SPL_BUILD
...
...
configs/Ampe_A76_defconfig
浏览文件 @
ded4bc3a
...
...
@@ -3,6 +3,7 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
CONFIG_FDTFILE="sun5i-a13-ampe-a76.dtb"
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB0_VBUS_PIN="PG12"
CONFIG_USB0_VBUS_DET="PG01"
CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:82,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"
CONFIG_VIDEO_LCD_POWER="AXP0-0"
CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
...
...
configs/Chuwi_V7_CW0825_defconfig
浏览文件 @
ded4bc3a
...
...
@@ -3,6 +3,7 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
CONFIG_FDTFILE="sun4i-a10-chuwi-v7-cw0825.dtb"
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB0_VBUS_PIN="PB9"
CONFIG_USB0_VBUS_DET="PH5"
CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:24,pclk_khz:51000,le:19,ri:300,up:6,lo:31,hs:1,vs:1,sync:3,vmode:0"
CONFIG_VIDEO_LCD_POWER="PH8"
CONFIG_VIDEO_LCD_BL_EN="PH7"
...
...
configs/Hyundai_A7HD_defconfig
浏览文件 @
ded4bc3a
...
...
@@ -6,6 +6,7 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
CONFIG_FDTFILE="sun4i-a10-hyundai-a7hd.dtb"
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB0_VBUS_PIN="PB09"
CONFIG_USB0_VBUS_DET="PH5"
CONFIG_USB1_VBUS_PIN=""
CONFIG_USB2_VBUS_PIN="PH6"
CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:51000,le:45,ri:274,up:22,lo:12,hs:1,vs:1,sync:3,vmode:0"
...
...
configs/Inet_86VS_defconfig
浏览文件 @
ded4bc3a
...
...
@@ -3,6 +3,7 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
CONFIG_FDTFILE="sun5i-a13-inet-86vs.dtb"
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB0_VBUS_PIN="PG12"
CONFIG_USB0_VBUS_DET="PG1"
CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0"
CONFIG_VIDEO_LCD_POWER="AXP0-0"
CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
...
...
configs/TZX-Q8-713B7_defconfig
浏览文件 @
ded4bc3a
...
...
@@ -3,6 +3,7 @@ CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
CONFIG_FDTFILE="sun5i-a13-tzx-q8-713b7.dtb"
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB0_VBUS_PIN="PG12"
CONFIG_USB0_VBUS_DET="PG1"
CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"
CONFIG_VIDEO_LCD_POWER="AXP0-0"
CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
...
...
configs/UTOO_P66_defconfig
0 → 100644
浏览文件 @
ded4bc3a
CONFIG_SPL=y
CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
CONFIG_FDTFILE="sun5i-a13-utoo-p66.dtb"
CONFIG_USB_MUSB_SUNXI=y
CONFIG_USB0_VBUS_PIN="PB04"
CONFIG_USB0_VBUS_DET="PG01"
CONFIG_VIDEO_LCD_MODE="x:480,y:800,depth:18,pclk_khz:25000,le:2,ri:93,up:2,lo:93,hs:1,vs:1,sync:3,vmode:0"
CONFIG_VIDEO_LCD_DCLK_PHASE=0
CONFIG_VIDEO_LCD_POWER="PG4"
CONFIG_VIDEO_LCD_RESET="PG11"
CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
CONFIG_VIDEO_LCD_BL_PWM="PB2"
CONFIG_VIDEO_LCD_TL059WV5C0=y
+S:CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+S:CONFIG_MMC0_CD_PIN="PG0"
+S:CONFIG_ARM=y
+S:CONFIG_ARCH_SUNXI=y
+S:CONFIG_MACH_SUN5I=y
+S:CONFIG_DRAM_CLK=432
+S:CONFIG_DRAM_ZQ=123
+S:CONFIG_DRAM_EMR1=0
drivers/mmc/sunxi_mmc.c
浏览文件 @
ded4bc3a
...
...
@@ -449,11 +449,7 @@ struct mmc *sunxi_mmc_init(int sdc_no)
cfg
->
voltages
=
MMC_VDD_32_33
|
MMC_VDD_33_34
;
cfg
->
host_caps
=
MMC_MODE_4BIT
;
cfg
->
host_caps
|=
MMC_MODE_HS_52MHz
|
MMC_MODE_HS
;
#if defined(CONFIG_MACH_SUN6I) || defined(CONFIG_MACH_SUN7I) || \
defined(CONFIG_MACH_SUN8I) || defined(CONFIG_MACH_SUN9I)
cfg
->
host_caps
|=
MMC_MODE_HC
;
#endif
cfg
->
host_caps
|=
MMC_MODE_HS_52MHz
|
MMC_MODE_HS
|
MMC_MODE_HC
;
cfg
->
b_max
=
CONFIG_SYS_MMC_MAX_BLK_COUNT
;
cfg
->
f_min
=
400000
;
...
...
drivers/usb/musb-new/sunxi.c
浏览文件 @
ded4bc3a
...
...
@@ -22,7 +22,9 @@
*/
#include <common.h>
#include <asm/arch/cpu.h>
#include <asm/arch/gpio.h>
#include <asm/arch/usbc.h>
#include <asm-generic/gpio.h>
#include "linux-compat.h"
#include "musb_core.h"
...
...
@@ -224,6 +226,33 @@ static int sunxi_musb_init(struct musb *musb)
pr_debug
(
"%s():
\n
"
,
__func__
);
if
(
is_host_enabled
(
musb
))
{
int
vbus_det
=
sunxi_name_to_gpio
(
CONFIG_USB0_VBUS_DET
);
if
(
vbus_det
==
-
1
)
{
eprintf
(
"Error invalid Vusb-det pin
\n
"
);
return
-
EINVAL
;
}
err
=
gpio_request
(
vbus_det
,
"vbus0_det"
);
if
(
err
)
return
err
;
err
=
gpio_direction_input
(
vbus_det
);
if
(
err
)
{
gpio_free
(
vbus_det
);
return
err
;
}
err
=
gpio_get_value
(
vbus_det
);
if
(
err
)
{
eprintf
(
"Error: A charger is plugged into the OTG
\n
"
);
gpio_free
(
vbus_det
);
return
-
EIO
;
}
gpio_free
(
vbus_det
);
}
err
=
sunxi_usbc_request_resources
(
0
);
if
(
err
)
return
err
;
...
...
drivers/video/sunxi_display.c
浏览文件 @
ded4bc3a
...
...
@@ -18,6 +18,7 @@
#include <errno.h>
#include <fdtdec.h>
#include <fdt_support.h>
#include <i2c.h>
#include <video_fb.h>
#include "videomodes.h"
#include "hitachi_tx18d42vm_lcd.h"
...
...
@@ -592,7 +593,7 @@ static void sunxi_lcdc_enable(void)
static
void
sunxi_lcdc_panel_enable
(
void
)
{
int
pin
;
int
pin
,
reset_pin
;
/*
* Start with backlight disabled to avoid the screen flashing to
...
...
@@ -610,6 +611,12 @@ static void sunxi_lcdc_panel_enable(void)
gpio_direction_output
(
pin
,
PWM_OFF
);
}
reset_pin
=
sunxi_name_to_gpio
(
CONFIG_VIDEO_LCD_RESET
);
if
(
reset_pin
!=
-
1
)
{
gpio_request
(
reset_pin
,
"lcd_reset"
);
gpio_direction_output
(
reset_pin
,
0
);
/* Assert reset */
}
/* Give the backlight some time to turn off and power up the panel. */
mdelay
(
40
);
pin
=
sunxi_name_to_gpio
(
CONFIG_VIDEO_LCD_POWER
);
...
...
@@ -617,6 +624,9 @@ static void sunxi_lcdc_panel_enable(void)
gpio_request
(
pin
,
"lcd_power"
);
gpio_direction_output
(
pin
,
1
);
}
if
(
reset_pin
!=
-
1
)
gpio_direction_output
(
reset_pin
,
1
);
/* De-assert reset */
}
static
void
sunxi_lcdc_backlight_enable
(
void
)
...
...
@@ -1021,6 +1031,12 @@ static void sunxi_mode_set(const struct ctfb_res_modes *mode,
mdelay
(
50
);
/* Wait for lcd controller power on */
hitachi_tx18d42vm_init
();
}
if
(
IS_ENABLED
(
CONFIG_VIDEO_LCD_TL059WV5C0
))
{
unsigned
int
orig_i2c_bus
=
i2c_get_bus_num
();
i2c_set_bus_num
(
CONFIG_VIDEO_LCD_I2C_BUS
);
i2c_reg_write
(
0x5c
,
0x04
,
0x42
);
/* Turn on the LCD */
i2c_set_bus_num
(
orig_i2c_bus
);
}
sunxi_composer_mode_set
(
mode
,
address
);
sunxi_lcdc_tcon0_mode_set
(
mode
,
false
);
sunxi_composer_enable
();
...
...
include/configs/sun4i.h
浏览文件 @
ded4bc3a
...
...
@@ -13,8 +13,6 @@
*/
#define CONFIG_CLK_FULL_SPEED 1008000000
#define CONFIG_MACH_TYPE 4104
#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
...
...
@@ -25,4 +23,6 @@
*/
#include <configs/sunxi-common.h>
#define CONFIG_MACH_TYPE (4104 | ((CONFIG_MACH_TYPE_COMPAT_REV) << 28))
#endif
/* __CONFIG_H */
include/configs/sun5i.h
浏览文件 @
ded4bc3a
...
...
@@ -13,8 +13,6 @@
*/
#define CONFIG_CLK_FULL_SPEED 1008000000
#define CONFIG_MACH_TYPE 4138
#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
...
...
@@ -25,4 +23,6 @@
*/
#include <configs/sunxi-common.h>
#define CONFIG_MACH_TYPE (4138 | ((CONFIG_MACH_TYPE_COMPAT_REV) << 28))
#endif
/* __CONFIG_H */
include/configs/sun7i.h
浏览文件 @
ded4bc3a
...
...
@@ -14,8 +14,6 @@
*/
#define CONFIG_CLK_FULL_SPEED 912000000
#define CONFIG_MACH_TYPE 4283
#ifdef CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_SUNXI
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
...
...
@@ -31,4 +29,6 @@
*/
#include <configs/sunxi-common.h>
#define CONFIG_MACH_TYPE (4283 | ((CONFIG_MACH_TYPE_COMPAT_REV) << 28))
#endif
/* __CONFIG_H */
include/configs/sunxi-common.h
浏览文件 @
ded4bc3a
...
...
@@ -13,6 +13,22 @@
#ifndef _SUNXI_COMMON_CONFIG_H
#define _SUNXI_COMMON_CONFIG_H
#ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT
/*
* The U-Boot workarounds bugs in the outdated buggy sunxi-3.4 kernels at the
* expense of restricting some features, so the regular machine id values can
* be used.
*/
# define CONFIG_MACH_TYPE_COMPAT_REV 0
#else
/*
* A compatibility guard to prevent loading outdated buggy sunxi-3.4 kernels.
* Only sunxi-3.4 kernels with appropriate fixes applied are able to pass
* beyond the machine id check.
*/
# define CONFIG_MACH_TYPE_COMPAT_REV 1
#endif
/*
* High Level Configuration Options
*/
...
...
@@ -183,6 +199,22 @@
#define CONFIG_SYS_I2C_MVTWSI
#define CONFIG_SYS_I2C_SPEED 400000
#define CONFIG_SYS_I2C_SLAVE 0x7f
#if defined CONFIG_VIDEO_LCD_PANEL_I2C && !(defined CONFIG_SPL_BUILD)
#define CONFIG_SYS_I2C_SOFT
#define CONFIG_SYS_I2C_SOFT_SPEED 50000
#define CONFIG_SYS_I2C_SOFT_SLAVE 0x00
#define CONFIG_VIDEO_LCD_I2C_BUS 0
/* The lcd panel soft i2c is bus 0 */
#define CONFIG_SYS_SPD_BUS_NUM 1
/* And the axp209 i2c bus is bus 1 */
/* We use pin names in Kconfig and sunxi_name_to_gpio() */
#define CONFIG_SOFT_I2C_GPIO_SDA soft_i2c_gpio_sda
#define CONFIG_SOFT_I2C_GPIO_SCL soft_i2c_gpio_scl
#ifndef __ASSEMBLY__
extern
int
soft_i2c_gpio_sda
;
extern
int
soft_i2c_gpio_scl
;
#endif
#endif
#define CONFIG_CMD_I2C
/* PMU */
...
...
@@ -194,6 +226,20 @@
#define CONFIG_CONS_INDEX 1
/* UART0 */
#endif
#if CONFIG_CONS_INDEX == 1
#ifdef CONFIG_MACH_SUN9I
#define OF_STDOUT_PATH "/soc/serial@07000000:115200"
#else
#define OF_STDOUT_PATH "/soc@01c00000/serial@01c28000:115200"
#endif
#elif CONFIG_CONS_INDEX == 2 && defined(CONFIG_MACH_SUN5I)
#define OF_STDOUT_PATH "/soc@01c00000/serial@01c28400:115200"
#elif CONFIG_CONS_INDEX == 5 && defined(CONFIG_MACH_SUN8I)
#define OF_STDOUT_PATH "/soc@01c00000/serial@01f02800:115200"
#else
#error Unsupported console port nr. Please fix stdout-path in sunxi-common.h.
#endif
/* GPIO */
#define CONFIG_SUNXI_GPIO
#define CONFIG_SPL_GPIO_SUPPORT
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录