Skip to content

Instantly share code, notes, and snippets.

@luftreich
Created August 22, 2014 12:04
Show Gist options
  • Save luftreich/a592f3e2426a953952ca to your computer and use it in GitHub Desktop.
Save luftreich/a592f3e2426a953952ca to your computer and use it in GitHub Desktop.
aml_m201_2014_08_22_20_02_24.patch
project build/
diff --git a/core/main.mk b/core/main.mk
index 6af33f4..b2703c6 100755
--- a/core/main.mk
+++ b/core/main.mk
@@ -60,7 +60,7 @@ $(warning * You are using version $(MAKE_VERSION) of make.)
$(warning * Android can only be built by versions 3.81 and 3.82.)
$(warning * see https://source.android.com/source/download.html)
$(warning ********************************************************************************)
-$(error stopping)
+# $(error stopping)
endif
endif
endif
project common/
diff --git a/Makefile b/Makefile
index 6d34914..c73772e 100755
--- a/Makefile
+++ b/Makefile
@@ -1022,7 +1022,7 @@ CLEAN_DIRS += $(MODVERDIR)
MRPROPER_DIRS += include/config usr/include include/generated \
arch/*/include/generated
MRPROPER_FILES += .config .config.old .version .old_version $(version_h) \
- Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \
+ Module.symvers tagS TAGS cScope* GPATH GTAGS GRTAGS GSYMS \
signing_key.priv signing_key.x509 x509.genkey \
extra_certificates signing_key.x509.keyid \
signing_key.x509.signer
diff --git a/arch/arm/boot/dts/amlogic/meson8b_m201_1G.dtd b/arch/arm/boot/dts/amlogic/meson8b_m201_1G.dtd
index 387c493..75d1838 100755
--- a/arch/arm/boot/dts/amlogic/meson8b_m201_1G.dtd
+++ b/arch/arm/boot/dts/amlogic/meson8b_m201_1G.dtd
@@ -79,7 +79,7 @@ void root_func(){
aml_reserved_start = <0x06000000>; /**reserved memory start */
aml_reserved_end = <0x05000000>;/**reserved memory end : dtb start for uboot*/
phys_offset = <0x00000000>;
- linux,total-memory = <0x40000000>;
+ linux,total-memory = <0x20000000>;
#address-cells = <1>;
#size-cells = <1>;
@@ -129,12 +129,12 @@ void root_func(){
compatible = "amlogic,mesonfb";
dev_name = "mesonfb";
status = "okay";
- reserve-memory = <0x01800000 0x00100000>;
- reserve-iomap = "true";
- vmode = <3>; /**0:VMODE_720P 1:VMODE_LCD 2:VMODE_LVDS_1080P 3:VMODE_1080P*/
+ reserve-memory = <0x00b00000 0x00100000>;
+ reserve-iomap = "true";
+ vmode = <3>; /**0:VMODE_720P 1:VMODE_LCD 2:VMODE_LVDS_1080P 3:VMODE_1080P*/
scale_mode = <1>; /*0:default 1:new*/
4k2k_fb = <0>;
- display_size_default = <1920 1080 1920 3240 32>; //1920*1080*4*3 = 0x17BB000
+ display_size_default = <1280 720 1280 2160 32>; // osd0:8M, osd1:1m 1280*720*4*3 = 11,059,200
};
//$$ DEVICE="deinterlace"
@@ -157,7 +157,7 @@ void root_func(){
compatible = "amlogic,mesonstream";
dev_name = "mesonstream.0";
status = "okay";
- reserve-memory = <0x02000000>; // 32M
+ reserve-memory = <0x00a00000>;//10M,you can use 8M if memory isn't enough
reserve-iomap = "true";
};
@@ -171,7 +171,7 @@ void root_func(){
compatible = "amlogic,vdec";
dev_name = "vdec.0";
status = "okay";
- reserve-memory = <0x04000000>; // 64M
+ reserve-memory = <0x02000000>;//32M
reserve-iomap = "true";
};
@@ -186,6 +186,7 @@ void root_func(){
dev_name = "ppmgr";
status = "okay";
reserve-memory = <0x01000000>; // 16M
+ reserve-iomap = "true";
};
/// ***************************************************************************************
diff --git a/arch/arm/mach-meson8b/pm.c b/arch/arm/mach-meson8b/pm.c
index 7f693d6..ff3698b 100755
--- a/arch/arm/mach-meson8b/pm.c
+++ b/arch/arm/mach-meson8b/pm.c
@@ -279,7 +279,7 @@ static void meson_pm_suspend(void)
#ifdef CONFIG_MESON_TRUSTZONE
meson_suspend_firmware();
#else
- meson_power_suspend();
+ meson_power_suspend();// SUSPEND
#endif
#else
#if 0
@@ -332,7 +332,7 @@ static int meson_pm_enter(suspend_state_t state)
switch (state) {
case PM_SUSPEND_STANDBY:
case PM_SUSPEND_MEM:
- meson_pm_suspend();
+ meson_pm_suspend(); // ENTER
break;
default:
ret = -EINVAL;
@@ -357,11 +357,13 @@ static void m6ref_set_vccx2(int power_on)
if(power_on == OFF) {
printk("m6ref_set_vccx2: OFF");
CLEAR_AOBUS_REG_MASK(AO_GPIO_O_EN_N, 1<<15);
- SET_AOBUS_REG_MASK(AO_GPIO_O_EN_N, 1<<31);
+ //SET_AOBUS_REG_MASK(AO_GPIO_O_EN_N, 1<<31);
+ CLEAR_AOBUS_REG_MASK(AO_GPIO_O_EN_N, 1<<31);
} else {
printk("m6ref_set_vccx2: ON");
CLEAR_AOBUS_REG_MASK(AO_GPIO_O_EN_N, 1<<15);
- CLEAR_AOBUS_REG_MASK(AO_GPIO_O_EN_N, 1<<31);
+ //CLEAR_AOBUS_REG_MASK(AO_GPIO_O_EN_N, 1<<31);
+ SET_AOBUS_REG_MASK(AO_GPIO_O_EN_N, 1<<31);
}
return;
}
@@ -392,6 +394,10 @@ static int __init meson_pm_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "cannot get platform data\n");
return -ENOENT;
}
+/**
+ * suspend_set_ops - Set the global suspend method table.
+ * param: Suspend operations to use.
+ */
suspend_set_ops(&meson_pm_ops);
clk81 = clk_get_sys("clk81", NULL);
diff --git a/arch/arm/mach-meson8b/power_suspend.c b/arch/arm/mach-meson8b/power_suspend.c
index 274f23e..242875e 100644
--- a/arch/arm/mach-meson8b/power_suspend.c
+++ b/arch/arm/mach-meson8b/power_suspend.c
@@ -106,6 +106,7 @@ int meson_power_suspend(void)
check_in_param();
flush_cache_all();
+ /* ARM POWER FIRMWARE ENTRY */
addr = 0x04F04400;//entry.s start
p_addr = (unsigned)__phys_to_virt(addr);
pwrtest_entry = (void (*)(unsigned,unsigned,unsigned,unsigned))p_addr;
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index df62645..bb2b8f0 100755
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -369,7 +369,7 @@ static void dpm_show_time(ktime_t starttime, pm_message_t state, char *info)
usecs = 1;
pr_info("PM: %s%s%s of devices complete after %ld.%03ld msecs\n",
info ?: "", info ? " " : "", pm_verb(state.event),
- usecs / USEC_PER_MSEC, usecs % USEC_PER_MSEC);
+ usecs / USEC_PER_MSEC, usecs % USEC_PER_MSEC); /* tag */
}
static int dpm_run_callback(pm_callback_t cb, struct device *dev,
diff --git a/kernel/power/earlysuspend.c b/kernel/power/earlysuspend.c
index bc51e3e..0fa3a04 100755
--- a/kernel/power/earlysuspend.c
+++ b/kernel/power/earlysuspend.c
@@ -92,7 +92,7 @@ static void early_suspend(struct work_struct *work)
}
if (debug_mask & DEBUG_SUSPEND)
- pr_info("early_suspend: call handlers\n");
+ pr_info("early_suspend: call handlers\n"); /* call */
list_for_each_entry(pos, &early_suspend_handlers, link) {
if (pos->suspend != NULL)
{
@@ -109,7 +109,7 @@ static void early_suspend(struct work_struct *work)
abort:
spin_lock_irqsave(&state_lock, irqflags);
if (state == SUSPEND_REQUESTED_AND_SUSPENDED)
- wake_unlock(&main_wake_lock);
+ wake_unlock(&main_wake_lock); /* Unlock Main Wake Lock */
spin_unlock_irqrestore(&state_lock, irqflags);
}
@@ -169,7 +169,7 @@ void request_suspend_state(suspend_state_t new_state)
printk("%s,%d,old_sleep=%d,new_state=%d\n",__func__,__LINE__,old_sleep,new_state);
if (!old_sleep && new_state != PM_SUSPEND_ON) {
state |= SUSPEND_REQUESTED;
- queue_work(suspend_work_queue, &early_suspend_work);
+ queue_work(suspend_work_queue, &early_suspend_work); /* early suspend */
} else if (old_sleep && new_state == PM_SUSPEND_ON) {
state &= ~SUSPEND_REQUESTED;
wake_lock(&main_wake_lock);
diff --git a/kernel/power/main.c b/kernel/power/main.c
index 51a65cf..fd23580 100755
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -360,7 +360,7 @@ static ssize_t state_store(struct kobject *kobj, struct kobj_attribute *attr,
#ifdef CONFIG_EARLYSUSPEND
if (state == PM_SUSPEND_ON || valid_state(state)) {
error = 0;
- request_suspend_state(state);
+ request_suspend_state(state); /* USER -> KERL */
}
#else
error = pm_suspend(state);
@@ -376,7 +376,7 @@ static ssize_t state_store(struct kobject *kobj, struct kobj_attribute *attr,
return error ? error : n;
}
-power_attr(state);
+power_attr(state); /* STATE ATTR */
#ifdef CONFIG_PM_SLEEP
/*
@@ -654,7 +654,7 @@ static int __init pm_init(void)
power_kobj = kobject_create_and_add("power", NULL);
if (!power_kobj)
return -ENOMEM;
- error = sysfs_create_group(power_kobj, &attr_group);
+ error = sysfs_create_group(power_kobj, &attr_group); /* SYSFS INTERFACE CREATE */
if (error)
return error;
pm_print_times_init();
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
index 05b2865..f80f01d 100755
--- a/kernel/power/suspend.c
+++ b/kernel/power/suspend.c
@@ -36,7 +36,7 @@ const char *const pm_states[PM_SUSPEND_MAX] = {
#endif
[PM_SUSPEND_STANDBY] = "standby",
[PM_SUSPEND_MEM] = "mem",
-};
+}; /* STATE TYPE */
static const struct platform_suspend_ops *suspend_ops;
@@ -72,7 +72,7 @@ EXPORT_SYMBOL_GPL(freeze_wake);
void suspend_set_ops(const struct platform_suspend_ops *ops)
{
lock_system_sleep();
- suspend_ops = ops;
+ suspend_ops = ops; /* meson_pm_ops */
unlock_system_sleep();
}
EXPORT_SYMBOL_GPL(suspend_set_ops);
@@ -228,6 +228,7 @@ static int suspend_enter(suspend_state_t state, bool *wakeup)
if (!error) {
*wakeup = pm_wakeup_pending();
if (!(suspend_test(TEST_CORE) || *wakeup)) {
+ /* Enter M8b board meson_pm_ops -> arch/arm/mach-meson8b/pm.c */
error = suspend_ops->enter(state);
events_check_enabled = false;
}
@@ -284,7 +285,7 @@ int suspend_devices_and_enter(suspend_state_t state)
goto Recover_platform;
do {
- error = suspend_enter(state, &wakeup);
+ error = suspend_enter(state, &wakeup); /* before realy enter */
} while (!error && !wakeup && need_suspend_ops(state)
&& suspend_ops->suspend_again && suspend_ops->suspend_again());
@@ -345,7 +346,7 @@ static int enter_state(suspend_state_t state)
printk("done.\n");
pr_debug("PM: Preparing system for %s sleep\n", pm_states[state]);
- error = suspend_prepare(state);
+ error = suspend_prepare(state); /* prepare */
if (error)
goto Unlock;
@@ -354,7 +355,7 @@ static int enter_state(suspend_state_t state)
pr_debug("PM: Entering %s sleep\n", pm_states[state]);
pm_restrict_gfp_mask();
- error = suspend_devices_and_enter(state);
+ error = suspend_devices_and_enter(state); /* enter */
pm_restore_gfp_mask();
Finish:
diff --git a/kernel/power/wakelock_android.c b/kernel/power/wakelock_android.c
index a63e66c..a711126 100755
--- a/kernel/power/wakelock_android.c
+++ b/kernel/power/wakelock_android.c
@@ -290,7 +290,7 @@ static void suspend(struct work_struct *work)
if (debug_mask & DEBUG_SUSPEND)
pr_info("suspend: enter suspend\n");
getnstimeofday(&ts_entry);
- ret = pm_suspend(requested_suspend_state);
+ ret = pm_suspend(requested_suspend_state); /* Into SYS suspend -> kernel/power/suspend.c */
getnstimeofday(&ts_exit);
if (debug_mask & DEBUG_EXIT_SUSPEND) {
@@ -320,7 +320,7 @@ static void suspend(struct work_struct *work)
}
wake_lock_timeout(&unknown_wakeup,2* HZ);
}
-static DECLARE_WORK(suspend_work, suspend);
+static DECLARE_WORK(suspend_work, suspend); /* tag */
static void expire_wake_locks(unsigned long data)
{
@@ -531,7 +531,7 @@ void wake_unlock(struct wake_lock *lock)
if (debug_mask & DEBUG_EXPIRE)
pr_info("wake_unlock: %s, stop expire "
"timer\n", lock->name);
- if (has_lock == 0)
+ if (has_lock == 0) /* no any lock */
queue_work(suspend_work_queue, &suspend_work);
}
if (lock == &main_wake_lock) {
project device/amlogic/
diff --git a/m201/Kernel.mk b/m201/Kernel.mk
index b8418b4..034a4c7 100755
--- a/m201/Kernel.mk
+++ b/m201/Kernel.mk
@@ -26,8 +26,8 @@ mkdir -p $(TARGET_OUT)/lib
#cp $(UMP_OUT)/ump.ko $(PRODUCT_OUT)/root/boot/
cp $(MALI_OUT)/mali.ko $(PRODUCT_OUT)/root/boot/
-cp $(WIFI_OUT)/broadcom/drivers/ap6xxx/broadcm_40181/dhd.ko $(TARGET_OUT)/lib/
-#cp $(WIFI_OUT)/realtek/drivers/8189es/rtl8189ES/8189es.ko $(TARGET_OUT)/lib/
+#cp $(WIFI_OUT)/broadcom/drivers/ap6xxx/broadcm_40181/dhd.ko $(TARGET_OUT)/lib/
+cp $(WIFI_OUT)/realtek/drivers/8189es/rtl8189ES/8189es.ko $(TARGET_OUT)/lib/
cp $(KERNET_ROOTDIR)/arch/arm/boot/dts/amlogic/$(KERNEL_DEVICETREE).dtd $(PRODUCT_OUT)/meson_target.dtd
cp $(KERNEL_OUT)/arch/arm/boot/meson.dtd $(PRODUCT_OUT)/meson.dtd
cp $(KERNEL_OUT)/arch/arm/boot/dts/amlogic/$(KERNEL_DEVICETREE).dtb $(PRODUCT_OUT)/meson.dtb
diff --git a/m201/ddr_init.bin b/m201/ddr_init.bin
index 352f9be..f42bace 100755
Binary files a/m201/ddr_init.bin and b/m201/ddr_init.bin differ
diff --git a/m201/lowmemorykiller.txt b/m201/lowmemorykiller.txt
index 671e22f..28b1324 100755
--- a/m201/lowmemorykiller.txt
+++ b/m201/lowmemorykiller.txt
@@ -1,3 +1,4 @@
adj:0,2,4,6,9,15
#need div for each element
-minfree:8192,10240,12288,22528,25600,26624
+#minfree:8192,10240,12288,22528,25600,26624
+minfree:2048,6144,7168,8092,12288,26624
diff --git a/m201/m201.mk b/m201/m201.mk
index 4bd8810..ed5e956 100755
--- a/m201/m201.mk
+++ b/m201/m201.mk
@@ -96,9 +96,11 @@ BOARD_USES_USB_PM := true
#
#########################################################################
-WIFI_MODULE := bcm40181
+#WIFI_MODULE := bcm40181
#WIFI_AP6xxx_MODULE := AP6210
-WIFI_AP6xxx_MODULE := AP6181
+#WIFI_AP6xxx_MODULE := AP6181
+WIFI_MODULE := rtl8189es
+#WIFI_AP6xxx_MODULE := rtl8189es
include device/amlogic/common/wifi.mk
# Change this to match target country
@@ -113,6 +115,8 @@ PRODUCT_DEFAULT_WIFI_CHANNELS := 11
# BOARD_HAVE_BLUETOOTH := true
# BLUETOOTH_MODULE := AP6210
+BOARD_HAVE_BLUETOOTH := false
+#BLUETOOTH_MODULE := rtl8189es
# include device/amlogic/common/bluetooth.mk
diff --git a/m201/overlay/frameworks/base/core/res/res/values/config.xml b/m201/overlay/frameworks/base/core/res/res/values/config.xml
index aaacf92..95d4a91 100755
--- a/m201/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/m201/overlay/frameworks/base/core/res/res/values/config.xml
@@ -108,10 +108,10 @@
remote submix module. This module is used to record and stream system
audio output to the WiFi display encoder in the media server.
* The remote submix module "audio.r_submix.default" must be installed on the device.
- * The device must be provisioned with HDCP keys (for protected content).
+ * The device must be provisioned with HDCP keys (for protected content).szm
-->
<bool name="config_enableWifiDisplay">true</bool>
- <integer name="config_defaultWallPaper_width">1920</integer>
- <integer name="config_defaultWallPaper_height">1080</integer>
+ <integer name="config_defaultWallPaper_width">1280</integer>
+ <integer name="config_defaultWallPaper_height">720</integer>
</resources>
diff --git a/m201/quick_build_kernel.sh b/m201/quick_build_kernel.sh
index bde3315..9da68d3 100755
--- a/m201/quick_build_kernel.sh
+++ b/m201/quick_build_kernel.sh
@@ -10,6 +10,7 @@
#{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
+ARCH=arm
PROJECT_NAME=m201
PROJECT_DT=meson8b_m201_1G
KERNEL_DEFCONFIG=meson8b_defconfig
@@ -22,8 +23,9 @@ function usage () {
echo " Pelease run the script in android top directory"
echo " device/amlogic/$PROJECT_NAME/quick_build_kernel.sh bootimage --> build uImage"
echo " device/amlogic/$PROJECT_NAME/quick_build_kernel.sh recoveryimage --> build recovery uImage"
- echo " device/amlogic/$PROJECT_NAME/quick_build_kernel.sh menuconfig --> go menuconfig"
+ echo " device/amlogic/$PROJECT_NAME/quick_build_kernel.sh menu[x]config --> go menuconfig"
echo " device/amlogic/$PROJECT_NAME/quick_build_kernel.sh saveconfig --> savedefconfig"
+ echo " device/amlogic/$PROJECT_NAME/quick_build_kernel.sh clean --> clean & mrproper"
}
if [ $# -lt 1 ]; then
@@ -37,6 +39,39 @@ KERNEL_CONFIG=$KERNEL_OUT/.config
PRODUCT_OUT=out/target/product/$PROJECT_NAME
+err_msg() { echo -e "\e[31;40m $* \e[0m"; }
+cp_to_TF()
+{
+ test -f $1 || exit
+ local to_dir=/tmp/TF
+ # if [ -f /tmp/RRR ]; then
+ mkdir -p $to_dir 2>/dev/null
+ sudo mount -L tf_boot $to_dir || exit
+ sudo mv $to_dir/${1##*/}{,.bak}
+ sudo \cp -vf $1 $to_dir/
+ ls -haltF --color=auto $to_dir
+ sync; sync
+ sudo umount $to_dir
+ # fi
+}
+
+test -f $KERNEL_CONFIG && {
+\cp -vf $KERNEL_CONFIG ./common/customer/configs/${KERNEL_DEFCONFIG}.cur
+}
+
+############################## clean ####################################
+if [ $1 = clean ]; then
+ cd $KERNET_ROOTDIR || exit
+ make mrproper
+ ARCH=arm make distclean
+ cd -
+ echo "$KERNEL_OUT"
+ \rm -rf $KERNEL_OUT
+ mkdir -p $KERNEL_OUT
+ exit 0
+fi
+
+
############################## bootimage ####################################
if [ $1 = bootimage ]; then
@@ -84,8 +119,8 @@ fi
#{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
cp $KERNEL_OUT/../hardware/wifi/broadcom/drivers/ap6xxx/broadcm_40181/dhd.ko $PRODUCT_OUT/system/lib/
-cp $(KERNEL_OUT)/../hardware/amlogic/nand/amlnf/aml_nftl_dev.ko $(PRODUCT_OUT)/root/boot/
-cp $(KERNEL_OUT)/../hardware/amlogic/pmu/aml_pmu_dev.ko $(PRODUCT_OUT)/system/lib/
+cp $KERNEL_OUT/../hardware/amlogic/nand/amlnf/aml_nftl_dev.ko $PRODUCT_OUT/root/boot/
+cp $KERNEL_OUT/../hardware/amlogic/pmu/aml_pmu_dev.ko $PRODUCT_OUT/system/lib/
#}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
make -C $KERNET_ROOTDIR O=../$KERNEL_OUT ARCH=arm CROSS_COMPILE=$PREFIX_CROSS_COMPILE uImage -j12
@@ -98,6 +133,8 @@ cd -
out/host/linux-x86/bin/mkbootimg --kernel $KERNEL_OUT/arch/arm/boot/uImage --ramdisk $PRODUCT_OUT/ramdisk.img --second $KERNEL_OUT/arch/arm/boot/dts/amlogic/${PROJECT_DT}.dtb --output $PRODUCT_OUT/boot.img
echo "Build $PRODUCT_OUT/boot.img Done"
+cp_to_TF $PRODUCT_OUT/boot.img
+err_msg 'if mmcinfo; fatload mmc 0 12000000 boot.img; then bootm; fi'
exit 0
fi
@@ -121,8 +158,8 @@ if [ ! -d $KERNEL_OUT ]; then
mkdir $KERNEL_OUT
fi
#{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
-cp $(KERNEL_OUT)/../hardware/amlogic/nand/amlnf/aml_nftl_dev.ko $(PRODUCT_OUT)/root/boot/
-cp $(KERNEL_OUT)/../hardware/amlogic/pmu/aml_pmu_dev.ko $(PRODUCT_OUT)/system/lib/
+cp $KERNEL_OUT/../hardware/amlogic/nand/amlnf/aml_nftl_dev.ko $PRODUCT_OUT/root/boot/
+cp $KERNEL_OUT/../hardware/amlogic/pmu/aml_pmu_dev.ko $PRODUCT_OUT/system/lib/
#}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
if [ ! -f $KERNEL_CONFIG ]; then
@@ -145,11 +182,11 @@ exit 0
fi
############################## menuconfig ####################################
-if [ $1 = menuconfig ]; then
+if [ $1 = menuconfig -o $1 = xconfig ]; then
if [ ! -f $KERNEL_CONFIG ]; then
make -C $KERNET_ROOTDIR O=../$KERNEL_OUT ARCH=arm CROSS_COMPILE=$PREFIX_CROSS_COMPILE $KERNEL_DEFCONFIG
fi
- make -C $KERNET_ROOTDIR O=../$KERNEL_OUT ARCH=arm CROSS_COMPILE=$PREFIX_CROSS_COMPILE menuconfig
+ make -C $KERNET_ROOTDIR O=../$KERNEL_OUT ARCH=arm CROSS_COMPILE=$PREFIX_CROSS_COMPILE $1
exit 0
fi
diff --git a/m201/recovery/set_display_mode.sh b/m201/recovery/set_display_mode.sh
index 5c591d0..3b41e6a 100755
--- a/m201/recovery/set_display_mode.sh
+++ b/m201/recovery/set_display_mode.sh
@@ -64,7 +64,7 @@ busybox echo 1 > /sys/class/graphics/fb0/freescale_mode
;;
1080*)
- busybox echo 0 0 1919 1079 > /sys/class/graphics/fb0/free_scale_axis
+ busybox echo 0 0 1279 719 > /sys/class/graphics/fb0/free_scale_axis
busybox echo 60 40 1859 1039 > /sys/class/graphics/fb0/window_axis
;;
@@ -137,7 +137,7 @@ if [ $hpdstate != $old_state ] ; then
;;
1080*)
- busybox echo 0 0 1919 1079 > /sys/class/graphics/fb0/free_scale_axis
+ busybox echo 0 0 1279 719 > /sys/class/graphics/fb0/free_scale_axis
busybox echo 60 40 1859 1039 > /sys/class/graphics/fb0/window_axis
;;
diff --git a/m201/remote.conf b/m201/remote.conf
old mode 100755
new mode 100644
index a66d846..b8fada4
--- a/m201/remote.conf
+++ b/m201/remote.conf
@@ -27,119 +27,86 @@
# reg_bit0_time set value for PREG_IR_DEC_BIT0_TIME
#*************************************************************************************************************
#amlogic NEC remote
-factory_code = 0xfb040001
+factory_code = 0xff000001
work_mode = 0
repeat_enable = 1
-repeat_delay = 40
-repeat_peroid = 39
+repeat_delay = 5
+repeat_peroid = 1
release_delay = 121
debug_enable = 1
+# reg_control = 0xfbe40
-fn_key_scancode = 0x15
-left_key_scancode = 0x1c
-right_key_scancode = 0x48
-up_key_scancode = 0x44
-down_key_scancode = 0x1d
-ok_key_scancode = 0x5c
-pageup_key_scancode = 0x04
-pagedown_key_scancode = 0x1b
+fn_key_scancode = 0x50
+left_key_scancode = 0x06
+right_key_scancode = 0x0e
+up_key_scancode = 0x43
+down_key_scancode = 0x0a
+ok_key_scancode = 0x02
+pageup_key_scancode = 0x3ff
+pagedown_key_scancode = 0x3ff
mouse_begin
- 0 0x1c
- 1 0x48
- 2 0x44
- 3 0x1d
+ 0 0x06
+ 1 0x0e
+ 2 0x43
+ 3 0x0a
mouse_end
key_begin
- 0x47 11
- 0x13 2
- 0x10 3
- 0x11 4
- 0x0F 5
- 0x0C 6
- 0x0D 7
- 0x0B 8
- 0x08 9
- 0x09 10
- 0x5C 97
- 0x51 65
- 0x49 14
- 0x06 130
- 0x14 131
- 0x44 103
- 0x1D 108
- 0x1C 105
- 0x48 106
- 0x53 125
- 0x45 104
- 0x19 109
- 0x16 102
- 0x52 119
- 0x05 122
- 0x59 123
- 0x1b 120
- 0x04 121
- 0x1A 116
- 0x0A 15
- 0x0e 113
- 0x15 63
- 0x1F 102
- 0x1e 132
- 0x07 133
- 0x12 134
- 0x54 135
- 0x02 136
- 0x4f 30
- 0x42 48
- 0x5d 46
- 0x4c 32
- 0x58 137
- 0x55 140
+ 0x57 116 #power
+ 0x5b 113 #mute
+ 0x1d 11 #0
+ 0x10 2 #1
+ 0x11 3 #2
+ 0x12 4 #3
+ 0x13 5 #4
+ 0x14 6 #5
+ 0x15 7 #6
+ 0x17 8 #7
+ 0x18 9 #8
+ 0x19 10 #9
+
+ 0x43 103 #up
+ 0x0a 108 #down
+ 0x06 105 #left
+ 0x0e 106 #right
+ 0x02 97 #enter
+
+ #0x4e 262 #dvb
+ 0x4d 1 #exit
+ 0x1a 125 #menu
+ 0x4e 102 #home
+ # 0x43 263 #browser
+
+ 0x1b 115 #vol +
+ 0x58 114 #vol -
+ #0x1e 109 #page-
+ # 0x40 104 #page+
+
+ 0x1e 14 #del
+ #0x52 42 #epg
+ # 0x50 63 #mouse
+ 0x54 53 #ttx
+
+ 0x55 252 #usb
+ 0x56 56 #rec
+ # 0x5b 136 #audio
+ 0x16 1 #subtitle
+ 0x5a 130 #info
+
+ 0x52 119 #play/pause
+ #0x10 128 #stop
+
+ 0x03 121 #fr
+ 0x05 120 #ff
+ 0x0f 122 #prev
+ 0x4c 123 #next
+
+ 0x44 131 #red
+ 0x45 140 #green
+ 0x46 133 #yellow
+ 0x47 134 #blue
+
+ 0x4f 176 #SETTINGS
+
key_end
-repeat_key_begin
- 0x47 11
- 0x13 2
- 0x10 3
- 0x11 4
- 0x0F 5
- 0x0C 6
- 0x0D 7
- 0x0B 8
- 0x08 9
- 0x09 10
- 0x5C 97
- 0x51 65
- 0x49 14
- 0x06 130
- 0x14 131
- 0x44 103
- 0x1D 108
- 0x1C 105
- 0x48 106
- 0x53 125
- 0x45 104
- 0x19 109
- 0x16 102
- 0x52 119
- 0x05 122
- 0x59 123
- 0x1b 120
- 0x04 121
- 0x1A 116
- 0x0A 15
- 0x0e 113
- 0x15 63
- 0x1F 102
- 0x1e 132
- 0x07 133
- 0x12 134
- 0x54 135
- 0x02 136
- 0x4f 30
- 0x42 48
- 0x5d 46
- 0x4c 32
- 0x58 137
- 0x55 140
-repeat_key_end
diff --git a/m201/set_display_mode.sh b/m201/set_display_mode.sh
index a485b63..792ba0b 100755
--- a/m201/set_display_mode.sh
+++ b/m201/set_display_mode.sh
@@ -31,7 +31,7 @@ else
fi
-setprop ro.sf.lcd_density 240
+setprop ro.sf.lcd_density 160
print outputmode = $outputmode
@@ -411,7 +411,7 @@ fi
#echo $outputx $outputy $(($outputwidth + $outputx + $outputx)) $(($outputheight + $outputy + $outputy)) $outputx $outputy 18 18 > /sys/class/display/axis
echo 1 > /sys/class/graphics/fb0/freescale_mode
echo 1 > /sys/class/graphics/fb1/freescale_mode
-echo 0 0 1919 1079 > /sys/class/graphics/fb0/free_scale_axis
+echo 0 0 1279 719 > /sys/class/graphics/fb0/free_scale_axis
echo $outputx $outputy $(($outputwidth + $outputx - 1)) $(($outputheight + $outputy - 1)) > /sys/class/video/axis
echo $outputx $outputy $(($outputwidth + $outputx - 1)) $(($outputheight + $outputy - 1)) > /sys/class/graphics/fb0/window_axis
echo 0 > /sys/class/graphics/fb0/blank
diff --git a/m201/system.prop b/m201/system.prop
index 540ad0f..9e777bc 100755
--- a/m201/system.prop
+++ b/m201/system.prop
@@ -1,4 +1,4 @@
-ro.adb.secure=1
+ro.adb.secure=0
#rild.libpath=/system/lib/libreference-ril.so
#rild.libargs=-d /dev/ttyS0
#ro.sf.lcd_density=240
@@ -38,7 +38,7 @@ dongleLauncher.enable.Animation=false
#used in packages/apps/Settings/.../Utils.java
hw.has.bluetooth=false
ro.ethernet.default_on=true
-ro.config.low_ram=false
+ro.config.low_ram=true
media.amplayer.low_ram=true
#dalvik.vm.jit.codecachesize=0
@@ -203,11 +203,12 @@ ro.amlogic.no.preloadclass=1
virtualsd.enable=true
#service.adb.tcp.port=5555
-const.window.w=1920
-const.window.h=1080
+const.window.w=1280
+const.window.h=720
sys.defaultStream.ismusic=true
ro.app.optimization=true
ro.platform.has.realoutputmode=true
+ro.platform.has.native720=true
#add livhls,libcurl as default hls
#media.libplayer.curlenable=true
diff --git a/m201/u-boot-comp.bin b/m201/u-boot-comp.bin
index 2d11e65..0b5847a 100755
Binary files a/m201/u-boot-comp.bin and b/m201/u-boot-comp.bin differ
diff --git a/m201/u-boot-usb.bin.aml b/m201/u-boot-usb.bin.aml
index 8df8719..63c901d 100755
Binary files a/m201/u-boot-usb.bin.aml and b/m201/u-boot-usb.bin.aml differ
diff --git a/m201/u-boot.bin b/m201/u-boot.bin
index f997359..fa3e3b7 100755
Binary files a/m201/u-boot.bin and b/m201/u-boot.bin differ
diff --git a/m201/u-boot.bin.aml b/m201/u-boot.bin.aml
index 06627eb..6dbad27 100755
Binary files a/m201/u-boot.bin.aml and b/m201/u-boot.bin.aml differ
project hardware/arm/gpu/
diff --git a/ump/Kbuild b/ump/Kbuild
index 5713bf6..85b89d4 100755
--- a/ump/Kbuild
+++ b/ump/Kbuild
@@ -32,7 +32,7 @@ endif
UDD_FILE_PREFIX = ../mali/
# Get subversion revision number, fall back to 0000 if no svn info is available
-SVN_REV := $(shell ((svnversion | grep -qv exported && echo -n 'Revision: ' && svnversion) || git svn info | sed -e 's/$$$$/M/' | grep '^Revision: ' || echo ${MALI_RELEASE_NAME}) 2>/dev/null | sed -e 's/^Revision: //')
+SVN_REV := $(shell ((svnversion | grep -q exported && echo -n 'Revision: ' && svnversion) || git svn info | sed -e 's/$$$$/M/' | grep '^Revision: ' || echo ${MALI_RELEASE_NAME}) 2>/dev/null | sed -e 's/^Revision: //')
ccflags-y += -DSVN_REV=$(SVN_REV)
ccflags-y += -DSVN_REV_STRING=\"$(SVN_REV)\"
diff --git a/ump/Makefile.common b/ump/Makefile.common
index e750ed7..f4c4c70 100755
--- a/ump/Makefile.common
+++ b/ump/Makefile.common
@@ -14,7 +14,7 @@ SRC = $(UMP_FILE_PREFIX)common/ump_kernel_common.c \
$(UMP_FILE_PREFIX)common/ump_kernel_ref_drv.c
# Get subversion revision number, fall back to 0000 if no svn info is available
-SVN_REV:=$(shell ((svnversion | grep -qv exported && echo -n 'Revision: ' && svnversion) || git svn info | sed -e 's/$$$$/M/' | grep '^Revision: ' || echo ${MALI_RELEASE_NAME}) 2>/dev/null | sed -e 's/^Revision: //')
+SVN_REV:=$(shell ((svnversion | grep -q exported && echo -n 'Revision: ' && svnversion) || git svn info | sed -e 's/$$$$/M/' | grep '^Revision: ' || echo ${MALI_RELEASE_NAME}) 2>/dev/null | sed -e 's/^Revision: //')
EXTRA_CFLAGS += -DSVN_REV=$(SVN_REV)
EXTRA_CFLAGS += -DSVN_REV_STRING=\"$(SVN_REV)\"
project uboot/
diff --git a/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/arc_pwr.c b/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/arc_pwr.c
index f538a5d..89988ae 100755
--- a/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/arc_pwr.c
+++ b/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/arc_pwr.c
@@ -279,7 +279,7 @@ void enter_power_down()
if(wdt_flag)
writel(readl(P_WATCHDOG_TC)&(~(1<<19)),P_WATCHDOG_TC);
#if 1
- vcin_state = p_arc_pwr_op->detect_key(uboot_cmd_flag);
+ vcin_state = p_arc_pwr_op->detect_key(uboot_cmd_flag); //WAKEUP
#else
for(i=0;i<10;i++)
{
diff --git a/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/irremote2arc.c b/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/irremote2arc.c
index 249655f..94b1007 100755
--- a/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/irremote2arc.c
+++ b/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/irremote2arc.c
@@ -1,10 +1,10 @@
#ifdef CONFIG_IR_REMOTE_WAKEUP
-#define IR_POWER_KEY 0xe51afb04
-#define IR_POWER_KEY_MASK 0xffffffff
+#define IR_POWER_KEY 0x0057ff00
+#define IR_POWER_KEY_MASK 0x00ffffff
unsigned int kk[] = {
- 0xe51afb04,
+ 0x0057ff00,
};
#define IR_CONTROL_HOLD_LAST_KEY (1<<6)
typedef struct reg_remote
diff --git a/board/amlogic/configs/m8b_m201_v1.h b/board/amlogic/configs/m8b_m201_v1.h
index d8c41f9..14306b5 100755
--- a/board/amlogic/configs/m8b_m201_v1.h
+++ b/board/amlogic/configs/m8b_m201_v1.h
@@ -9,6 +9,9 @@
#define CONFIG_SECURITYKEY
//#define TEST_UBOOT_BOOT_SPEND_TIME
+//szm
+#define CONFIG_DDR3_512MB 1
+
// cart type of each port
#define PORT_A_CARD_TYPE CARD_TYPE_UNKNOWN
#define PORT_B_CARD_TYPE CARD_TYPE_UNKNOWN
@@ -345,9 +348,9 @@
//col size. 2'b01 : A0~A8, 2'b10 : A0~A9
#define PHYS_MEMORY_START (0x00000000) // ???
#if defined(CONFIG_DDR3_512MB)
- #define CONFIG_DDR3_ROW_SIZE (3)
+ #define CONFIG_DDR3_ROW_SIZE (2)
#define CONFIG_DDR3_COL_SIZE (2)
- #define CONFIG_DDR_ROW_BITS (15)
+ #define CONFIG_DDR_ROW_BITS (14)
#define PHYS_MEMORY_SIZE (0x20000000) // 512MB
#elif defined(CONFIG_DDR3_1GB)
//2Gb(X16) x 4pcs
diff --git a/board/amlogic/m8b_m201_v1/m8b_m201_v1.c b/board/amlogic/m8b_m201_v1/m8b_m201_v1.c
index 56b3b2f..b820603 100755
--- a/board/amlogic/m8b_m201_v1/m8b_m201_v1.c
+++ b/board/amlogic/m8b_m201_v1/m8b_m201_v1.c
@@ -381,6 +381,11 @@ int board_init(void)
borad_power_init();
gd->bd->bi_arch_number=MACH_TYPE_MESON6_SKT;
gd->bd->bi_boot_params=BOOT_PARAMS_OFFSET;
+
+ /************add LED*****************/
+ clrbits_le32(P_AO_GPIO_O_EN_N, (1 << 15));
+ setbits_le32(P_AO_GPIO_O_EN_N, (1 << 31));
+
#if CONFIG_JERRY_NAND_TEST //temp test
nand_init();
@@ -581,4 +586,5 @@ void board_dt_id_process(void)
setenv("aml_dt", dt_name);
debug_print("aml_dt: %s\n", getenv("aml_dt"));
}
-#endif
\ No newline at end of file
+#endif
+
@luftreich
Copy link
Author

err_s805_v2_usb_otg_update.log

PU clock is 792MHz
DDR mode: 32 bit mode
DDR size: 512MB
DDR check: Pass!
DDR clock: 636MHz with 2T mode

DDR init use : 11513 us

PLL & DDR init OK

End ddr main
11:23:35 Aug 5 2014

ucl Decompress START ====>
compressData 00200000,decompressedAddr 10000000.
uclDecompress OK.

<====ucl Decompress END.

decompressedLen 000ab870.
0x12345678

U-boot-00000-g8ef0ec2-dirty(m8b_m201_v1@8ef0ec2c) (Aug 05 2014 - 11:23:30)

clr h-ram
DRAM: 512 MiB
relocation Offset is: 0fed0000
show partition table:
part: 0, name : logo, size : 2000000
part: 1, name : recovery, size : 2000000
part: 2, name : misc, size : 2000000
part: 3, name : boot, size : 2000000
part: 4, name : system, size : 40000000
part: 5, name : cache, size : 20000000
part: 6, name : data, size : end
aml_card_type=0x100
MMC: [mmc_register] add mmc dev_num=0, port=1, if_type=6
[mmc_register] add mmc dev_num=1, port=2, if_type=6
SDIO Port B: 0, SDIO Port C: 1
Enter v2 usbburning mode
Set Addr 6
Get DT cfg
Get DT cfg
set CFG
Set Addr 6
Get DT cfg
set CFG
Set Addr 6
Get DT cfg
set CFG
Get DT cfg
Get DT cfg
Get DT cfg

ID[16]
tplcmd[ echo 12345]
12345
msg:ret = 0
[info]success
BULKcmd[ low_power]
[info]success
BULKcmd[bootloader_is_old]
[info]failed: bootloader is new

ID[16]

ID[16]

ID[16]
tplcmd[ echo 12345]
12345
msg:ret = 0
[info]success
tplcmd[ download mem dtb normal 20938]
msg:dtb boot down to 400000
msg:Down(mem) part(dtb) sz(0x51ca) fmt(normal)
msg:totalSlotNum = 0, nextWriteBackSlot 1
[info]success
msg:Burn Start...
msg:load dtb to 0x0f000000
msg:Burn complete
BULKcmd[download get_status]
[info]success
BULKcmd[ low_power]
[info]success
BULKcmd[disk_initial 1]
command: amlnf init 3

NAND BOOT: boot_device_flag 1
Nand PHY driver Version: 1.01.001.0003 (c) 2013 Amlogic Inc.
amlnf_phy_init : amlnf init flag 3
reset failed
get_chip_type and ret:fffffffe
get_chip_type and ret:fffffffe
chip detect failed and ret:fffffffe
nandphy_init failed and ret=0xfffffff1
nand_init failed ret:ffffffff
nand cmd init failed,ret=-1
nand cmd store init failed
[info]failed:

@luftreich
Copy link
Author

md5sums

10c97d1b739cdf0f9a9ffca86801e851 _out_m201/obj/PACKAGING/target_files_intermediates/m201-target_files-20140822/BOOTLOADER/bootloader
lrwxrwxrwx 1 user user 19 Aug 15 12:08 _dev_m201 -> device/amlogic/m201/
lrwxrwxrwx 1 user user 23 Aug 15 12:08 _out_m201 -> out/target/product/m201/

d3cf5458bf6806e4057e898613df1268 _dev_m201/ddr_init.bin
fc965ef817e8999d0aaef0cd61ac4d1b _dev_m201/MT7601EEPROM.bin
d41d8cd98f00b204e9800998ecf8427e _dev_m201/test.bin
10c97d1b739cdf0f9a9ffca86801e851 _dev_m201/u-boot.bin
1e0ad0d57a6866c8ba5e10c2cf71523d _dev_m201/u-boot-comp.bin

d3cf5458bf6806e4057e898613df1268 _out_m201/ddr_init.bin
10c97d1b739cdf0f9a9ffca86801e851 _out_m201/u-boot.bin
1e0ad0d57a6866c8ba5e10c2cf71523d _out_m201/u-boot-comp.bin
-rwxr-xr-x 1 user user 344K Aug 22 17:05 _out_m201/u-boot.bin*
-rwxr-xr-x 1 user user 312K Aug 22 17:05 _out_m201/u-boot-comp.bin*
-rwxr-xr-x 1 user user 23K Aug 22 17:04 _out_m201/ddr_init.bin*

-rw-r--r-- 1 user user 0 Aug 22 12:45 _dev_m201/test.bin
-rwxr-xr-x 1 user user 23K Aug 5 11:27 _dev_m201/ddr_init.bin*
-rwxr-xr-x 1 user user 344K Aug 5 11:27 _dev_m201/u-boot.bin*
-rwxr-xr-x 1 user user 312K Aug 5 11:27 _dev_m201/u-boot-comp.bin*
-rwxr-xr-x 1 user user 1.0K Aug 1 00:02 _dev_m201/MT7601EEPROM.bin*

@luftreich
Copy link
Author

[注意] 1. 在USB-OTG方式升级过程中, usb口会复位, 对于kvm需要及时刷新usb设备
2. 开机组合键进入上述升级模式之后, 升级操作前必须马上释放特殊按键, 比如松开短接SPI的镊子

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment