beagleboard / kernel

Kernel for the beagleboard.org boards
172 stars 159 forks source link

How to get this Kernel 3.14 work with 4DCAPE-43 #101

Closed asebak closed 8 years ago

asebak commented 8 years ago

I need to get the linux kernel 3.14 from this repo to work with the 4DCAPE-43 LCD screen. Anyone have any idea? I have been stuck on this for a while and cannot using the main line kernel from here https://github.com/beagleboard/linux due to some configuration issues.. This is what is in the am335x-boneblack.dts file What specific changes need to be made to support that specific cape?


/*
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
/dts-v1/;

#include "am33xx.dtsi"
#include "am335x-bone-common.dtsi"

&ldo3_reg {
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
};

&mmc1 {
    vmmc-supply = <&vmmcsd_fixed>;
};

&mmc2 {
    vmmc-supply = <&vmmcsd_fixed>;
    pinctrl-names = "default";
    pinctrl-0 = <&emmc_pins>;
    bus-width = <8>;
    status = "okay";
    ti,vcc-aux-disable-is-sleep;
};

&am33xx_pinmux {
    nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
        pinctrl-single,pins = <
            0x1b0 0x03      /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
            0xa0 0x08       /* lcd_data0.lcd_data0, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xa4 0x08       /* lcd_data1.lcd_data1, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xa8 0x08       /* lcd_data2.lcd_data2, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xac 0x08       /* lcd_data3.lcd_data3, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xb0 0x08       /* lcd_data4.lcd_data4, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xb4 0x08       /* lcd_data5.lcd_data5, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xb8 0x08       /* lcd_data6.lcd_data6, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xbc 0x08       /* lcd_data7.lcd_data7, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xc0 0x08       /* lcd_data8.lcd_data8, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xc4 0x08       /* lcd_data9.lcd_data9, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xc8 0x08       /* lcd_data10.lcd_data10, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xcc 0x08       /* lcd_data11.lcd_data11, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xd0 0x08       /* lcd_data12.lcd_data12, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xd4 0x08       /* lcd_data13.lcd_data13, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xd8 0x08       /* lcd_data14.lcd_data14, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xdc 0x08       /* lcd_data15.lcd_data15, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
            0xe0 0x00       /* lcd_vsync.lcd_vsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
            0xe4 0x00       /* lcd_hsync.lcd_hsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
            0xe8 0x00       /* lcd_pclk.lcd_pclk, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
            0xec 0x00       /* lcd_ac_bias_en.lcd_ac_bias_en, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
        >;
    };
    nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
        pinctrl-single,pins = <
            0x1b0 0x03      /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
        >;
    };
};

&lcdc {
    status = "okay";
};

/ {
    cpus {
        cpu@0 {
            cpu0-supply = <&dcdc2_reg>;
            /*
             * To consider voltage drop between PMIC and SoC,
             * tolerance value is reduced to 2% from 4% and
             * voltage value is increased as a precaution.
             */
            operating-points = <
                /* kHz    uV */
                1000000 1325000
                800000  1300000
                600000  1112000
                300000   969000
            >;
        };
    };

    hdmi {
        compatible = "ti,tilcdc,slave";
        i2c = <&i2c0>;
        pinctrl-names = "default", "off";
        pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
        pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
        status = "okay";

        panel-info {
            bpp = <16>;
            ac-bias = <255>;
            ac-bias-intrpt = <0>;
            dma-burst-sz = <16>;
            fdd = <16>;
            sync-edge = <1>;
            sync-ctrl = <1>;
            raster-order = <0>;
            fifo-th = <0>;
            invert-pxl-clk;
        };
    };
};
RobertCNelson commented 8 years ago

the "3.14" branch in this "repo" is closed...

Build: with https://github.com/beagleboard/linux/tree/3.14 using "bb.org_defconfig" and override the booting dtb as shown here:

http://elinux.org/Beagleboard:Capes_3.8_to_3.14#4dcape-43t

dtb=am335x-boneblack-4dcape-43t.dtb

Regards,