Nexus 7 aosp tegra kernel
Перейти к навигации
Перейти к поиску
Use Nexus 7 aosp tegra kernel with tegra2 device
Current attempt git live here https://github.com/zombah/android_kernel_toshiba_ac100
Current Progress
- Fastboot
- Boots, work fine. Need to backport or revert ac100 usb stuff to old usb platform
- Uboot
- Boots, work fine. Alot of garbadge in dmesg. Same for usb as fastboot.
Basic kernel compile problems
- cap1106 driver enabled by default
.../drivers/input/proximity/cap1106.c:23:45: fatal error: include/mach/board-grouper-misc.h: No such file or directory compilation terminated. make[5]: *** [drivers/input/proximity/cap1106.o] Error 1 make[4]: *** [drivers/input/proximity] Error 2 make[3]: *** [drivers/input] Error 2
This driver in current state depends to grouper board, simply disable driver by default
diff --git a/drivers/input/proximity/Kconfig b/drivers/input/proximity/Kconfig index 34927c8..fc234b1 100644 --- a/drivers/input/proximity/Kconfig +++ b/drivers/input/proximity/Kconfig @@ -7,7 +7,7 @@ comment "Proximity sensors" config SENSORS_CAP1106 tristate "CAP1106 driver" depends on I2C - default y + default n ---help--- Say yes if you want proximity CAP1106 driver. This is for i2c connected version. If unsure, say N here.
- fsl_udc fail to compile with below error
CC drivers/usb/host/fsl-mph-dr-of.o drivers/usb/host/fsl-mph-dr-of.c: In function 'fsl_usb2_device_register': drivers/usb/host/fsl-mph-dr-of.c:97: error: 'struct pdev_archdata' has no member named 'dma_mask'
Mainline kernel have appropriate patch for this problem
Author: Peter Chen <[email protected]> Date: Thu Feb 16 09:41:52 2012 +0800 usb: Fix build error due to dma_mask is not at pdev_archdata at ARM When build i.mx platform with imx_v6_v7_defconfig, and after adding USB Gadget support, it has below build error: CC drivers/usb/host/fsl-mph-dr-of.o drivers/usb/host/fsl-mph-dr-of.c: In function 'fsl_usb2_device_register': drivers/usb/host/fsl-mph-dr-of.c:97: error: 'struct pdev_archdata' has no member named 'dma_mask' It has discussed at: http://www.spinics.net/lists/linux-usb/msg57302.html For PowerPC, there is dma_mask at struct pdev_archdata, but there is no dma_mask at struct pdev_archdata for ARM. The pdev_archdata is related to specific platform, it should NOT be accessed by cross platform drivers, like USB. The code for pdev_archdata should be useless, as for PowerPC, it has already gotten the value for pdev->dev.dma_mask at function arch_setup_pdev_archdata of arch/powerpc/kernel/setup-common.c. Tested-by: Ramneek Mehresh <[email protected]> Signed-off-by: Peter Chen <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
AC100 Specific compile problems
- Our asoc need tdm patch from rel15r7.1-android4
- for now just include 2 patches with tdm, later maybe fix other if tdm is useless
- Our current board usb stuff depends on usb common phy patches from rel15r7.1-android4
- for now simply revert our board ehci data to old one not ported to common phy
- Latest NVEC use module_platform_driver for init
- Quick backport 2 patches to make it work
Basic link time problems
- Many grouper depended things hardcoded to common drivers without ifdefs
arch/arm/mach-tegra/built-in.o: In function `uhsic_phy_power_off': arch/arm/mach-tegra/usb_phy.c:2465: undefined reference to `baseband_xmm_enable_hsic_power' arch/arm/mach-tegra/built-in.o: In function `uhsic_phy_power_on': arch/arm/mach-tegra/usb_phy.c:2331: undefined reference to `baseband_xmm_enable_hsic_power' arch/arm/mach-tegra/built-in.o: In function `tegra_usb_phy_open': arch/arm/mach-tegra/usb_phy.c:2521: undefined reference to `grouper_query_pcba_revision' arch/arm/mach-tegra/usb_phy.c:2522: undefined reference to `grouper_get_project_id' arch/arm/mach-tegra/usb_phy.c:2523: undefined reference to `grouper_query_pmic_id' kernel/built-in.o: In function `kernel_restart': kernel/sys.c:370: undefined reference to `disable_auto_hotplug' kernel/built-in.o: In function `kernel_power_off': kernel/sys.c:421: undefined reference to `disable_auto_hotplug' kernel/sys.c:430: undefined reference to `battery_cable_status' drivers/built-in.o: In function `tegra_ehci_resume': drivers/usb/host/ehci-tegra.c:1276: undefined reference to `grouper_get_project_id' drivers/usb/host/ehci-tegra.c:1279: undefined reference to `baseband_xmm_L3_resume_check' drivers/built-in.o: In function `cable_detection_work_handler': drivers/usb/gadget/fsl_udc_core.c:325: undefined reference to `touch_callback' drivers/built-in.o: In function `fsl_smb347_hc_mode_handler': drivers/usb/gadget/fsl_udc_core.c:261: undefined reference to `smb347_hc_mode_callback' drivers/built-in.o: In function `read_hw_version': drivers/usb/gadget/fsl_udc_core.c:114: undefined reference to `grouper_get_project_id' drivers/usb/gadget/fsl_udc_core.c:115: undefined reference to `grouper_query_pcba_revision'
As quick solution i reverted all this stuff, but this may lead to problems need to ifdef all this stuff to grouper or tegra3 depending on feature
Strange asus patches
- Screen rotated by 180 degree
commit f21c63acc2f6cda9255420dda6f08f8fcceb5133 Author: lucien_wu <[email protected]> Date: Thu Mar 22 15:18:10 2012 +0800 Subject: [PATCH] TEST: rotate display by 180 degree rotate display by 180 degree from display controller in kernel Change-Id: Ibc62f2ccf0c414926c9670e1f9b49fd1171dc697 Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/44766 Reviewed-by: Wu Lucien <[email protected]> Tested-by: Wu Lucien <[email protected]> Reviewed-by: Warlock Tai <[email protected]> Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/45209
Dunno what this thing for, simply reverting it fixes screen for AC100
- No external sd card inited
commit b025d94a3dbd85f074ec230ef3a20da8fe141c03 Author: ban_feng <[email protected]> Date: Mon Apr 9 11:25:40 2012 +0800 SD: Disable mmc_attach_sd function In order to avoid rescaling voltage to 2.85V, we extract mmc_attach_sd to make sure device is at 1.8V signalling voltage. Change-Id: Ida42f6d04323c80981194a9e261c6443f1ae8598 Change-Id: Ie92d7b2029fe86c8fa34370cb86447005ed68528 Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/46079 Tested-by: Ban Feng <[email protected]> Reviewed-by: Ban Feng <[email protected]> Tested-by: Nick Cheng <[email protected]> Reviewed-by: Nick Cheng <[email protected]>
This is probably because grouper lack external sd, voltage notes is interesting. Simply reverting for now and external sd detected
Found Problems
- If external usb inserted after poweron, it fail to start and have soft crash
- Link to log http://pastebin.com/xG6YS3Nu
- Not found yet whos in charge, my many quick reverts or that current ac100 board code based on newer nvidia branch
- Not bootable with uboot-tegra yet
- Got hard freeze in tegra_init_early at function tegra_clk_init_from_table(common_clk_init_table) without backtrace or crash dump
- Check difference in this functions between latest nvidia branches and this one
- Now boot
Uboot support vital patches
- Fix hang on tegra_init_early https://github.com/zombah/android_kernel_toshiba_ac100/commit/6b08e7f072e02b59b2fc2d340bf29dfb32bca9e3
- Fix gr3d clock not started https://github.com/zombah/android_kernel_toshiba_ac100/commit/4e390a21749799e2ff1ac09eecf00ead9ea5df24
- No more problems found yet, but need extended testing something will appear for sure
lsusb output
Bus 001 Device 001: ID 1d6b:0002 Bus 002 Device 001: ID 1d6b:0002 Bus 001 Device 002: ID 0424:2512 Bus 002 Device 002: ID 0424:2513 Bus 001 Device 003: ID 0db0:3871 Bus 001 Device 004: ID 0db0:a871
on r15r7 kernel
Bus 001 Device 001: ID 1d6b:0002 !Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 !Linux Foundation 2.0 root hub Bus 001 Device 002: ID 0424:2512 ?Standard Microsystems Corp. Bus 002 Device 002: ID 0424:2513 ?Standard Microsystems Corp. Bus 001 Device 003: ID 0db0:3871 ?Micro Star International (Device name unknown) Bus 001 Device 004: ID 0db0:a871 ?Micro Star International (Device name unknown) Bus 002 Device 003: ID 0bdb:190a !Ericsson Business Mobile Networks BV, f3307
modem missing. Maybe board usb misconfig or disabled in drivers?