Hi Javier, On 10/08/2015 08:40 AM, Yakir Yang wrote: > On 10/07/2015 07:25 PM, Javier Martinez Canillas wrote: >> On 10/07/2015 01:05 PM, Yakir Yang wrote: >>> On 10/07/2015 05:26 PM, Javier Martinez Canillas wrote: >>>> On 10/07/2015 11:02 AM, Yakir Yang wrote: >>>>> On 10/07/2015 04:46 PM, Javier Martinez Canillas wrote: >>>>>> On 10/07/2015 08:25 AM, Yakir Yang wrote: >>>>>>> Hi all, >>>>>>> >>>>>>> Friendly ping..... :) >>>>>>> >>>>>>> >>>>>>> Best regards, >>>>>>> - Yakir >>>>>>> >>>>>>> >>>>>> Do you have a tree that I can use to test these patches? >>>>> Wow, thanks a lot, I do have a tree on github >>>>> [https://github.com/yakir-Yang/linux/tree/analogix_dp], >>>>> crossing my finger, wish things works...... ;) >>>>> >>>> I tried your analogix_dp branch on an Exynos5800 Peach Pi Chromebook >>>> but the machine didn't boot. Unfortunately I need to do some soldering >>>> to have a serial console on this board so don't have a kernel boot >>>> log. >>>> >>>> I'll let you know if I can get more info about this issue. >>> Whoops, sorry for the failed, much appreciated for your works. >>> >>> Besides, I thought maybe I can find a Peach Pit Chromebook in my side, >>> I remember that some of our guys have brought one, but previously I >>> thought that mainline kernel wouldn't run on Peach Pit directly. >>> >> Great, mainline works correctly on all Exynos based Chromebooks. >> >>> Maybe you can email me the method the run mainline kernel on Peach >>> Pit, so I can debug the analogix_dp driver at the same time, that would >>> be great. >> I wrote a little blog post explaining how to run mainline on these >> boards: >> >> http://blogs.s-osg.org/install-linux-mainline-kernel-distro-exynos-chromebooks/ >> >> >> That explains the simplest setup though so if you need a different one >> (i.e: chain loading a non verified u-boot) or if you have any questions, >> feel free to contact me in private and I can help you with the setup. >> > > Ah, thanks, gonna to step-by-step. Thanks for your great material, although I meet some problems in the step-by-step process, and failed at this way to setup mainline kernel environment on Exynos chromebooks. But i do find another way to install mainline kernel to Exynos Chromebook: 1. Install any ChromeOS image into a USB media device (like dd tools) 2. "enable_dev_usb_boot" on Exynos chromebooks which would allowed boot from USB. 3. Flash the mainline kernel into the KERNEL-A and KERNEL-B partitions on host PC. 4. Insert USB device into Exynos chromebooks, and press CTRL+U, boot into USB OS. And it's better to enable pstore function on mainline kernel, so we can analysis the last log when the mainline kernel crashed. After enable PSTORE_RAM in .config, we still need add ramoops node into file, like: --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi @@ -750,6 +750,15 @@ iommu = <&sysmmu_gsc3>; }; + ramoops: ramoops { + compatible = "ramoops"; + name = "ramoops"; + reg = <0x41f00000 0x100000>; + record-size = <0x20000>; + dump-oops; + status = "okay"; + }; + hdmi: hdmi { compatible = "samsung,exynos4212-hdmi"; reg = <0x14530000 0x70000>; Aha, I have tested this series on two Exynos Chromebooks that I borrowed(Snow and Peach Pit) with previously method (actually I believed it's a common method without broken the original ChromeOS image). And I do find the crash place that make you failed at this series, here is the diff changes: diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 5f8fc11..bcbc009 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1169,6 +1169,7 @@ static int analogix_dp_create_bridge(struct drm_device *drm_dev, dp->bridge = bridge; + dp->encoder->bridge = bridge; bridge->driver_private = dp; bridge->encoder = dp->encoder; bridge->funcs = &analogix_dp_bridge_funcs; --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts @@ -151,7 +151,7 @@ samsung,color-depth = <1>; samsung,link-rate = <0x06>; samsung,lane-count = <2>; - hpd-gpio = <&gpx2 6 0>; + hpd-gpios = <&gpx2 6 0>; ports { port at 0 { Anyway I'm going to send the v6 series, thanks for your good idea. - Yakir > > - Yakir > >>>> Also, there is Kconfig recursive dependency that you may want to fix: >>>> >>>> $ make exynos_defconfig >>>> drivers/video/fbdev/Kconfig:5:error: recursive dependency detected! >>>> drivers/video/fbdev/Kconfig:5: symbol FB is selected by >>>> DRM_KMS_FB_HELPER >>>> drivers/gpu/drm/Kconfig:34: symbol DRM_KMS_FB_HELPER depends on >>>> DRM_KMS_HELPER >>>> drivers/gpu/drm/Kconfig:28: symbol DRM_KMS_HELPER is selected by >>>> DRM_ANALOGIX_DP >>>> drivers/gpu/drm/bridge/analogix/Kconfig:1: symbol DRM_ANALOGIX_DP >>>> is selected by DRM_EXYNOS_DP >>>> drivers/gpu/drm/exynos/Kconfig:57: symbol DRM_EXYNOS_DP depends on >>>> DRM_EXYNOS_FIMD >>>> drivers/gpu/drm/exynos/Kconfig:19: symbol DRM_EXYNOS_FIMD depends >>>> on FB_S3C >>>> drivers/video/fbdev/Kconfig:2023: symbol FB_S3C depends on FB >>> Yeah, recursive dependency detected, guess I should remove the >>> "DRM_KMS_HELPER" from bridge analogix_dp Kconfig file, thanks >>> for your remind. >>> >>> --- a/drivers/gpu/drm/bridge/analogix/Kconfig >>> +++ b/drivers/gpu/drm/bridge/analogix/Kconfig >>> @@ -1,4 +1,3 @@ >>> config DRM_ANALOGIX_DP >>> tristate >>> depends on DRM >>> - select DRM_KMS_HELPER >>> >>> >> That fixes the recursive dependency issue indeed. Thanks. >> >>> Thanks, >>> - Yakir >> Best regards, >