TW6869 drivers porting for freescaleandroid

TW6869调试

驱动代码见附件patch.

配置内核参数config----------imx_v7_android_defconfig
t

修改设备树

#

# Bus support

#

CONFIG_ARM_AMBA=y

CONFIG_PCI=y

CONFIG_PCI_DOMAINS=y

CONFIG_PCI_SYSCALL=y

# CONFIG_PCI_MSI is not set

# CONFIG_PCI_DEBUG is not set

# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set

# CONFIG_PCI_STUB is not set

# CONFIG_PCI_IOV is not set

# CONFIG_PCI_PRI is not set

# CONFIG_PCI_PASID is not set



#

# PCI host controller drivers

#

CONFIG_PCIE_DW=y

CONFIG_PCI_IMX6=y

# CONFIG_EP_MODE_IN_EP_RC_SYS is not set

# CONFIG_RC_MODE_IN_EP_RC_SYS is not set

# CONFIG_PCI_HOST_GENERIC is not set

CONFIG_PCIEPORTBUS=y

# CONFIG_PCIEAER is not set

# CONFIG_PCIEASPM is not set

CONFIG_PCIE_PME=y

# CONFIG_PCCARD is not se



 --------------for imx6qdl-sabresd-roadj.dtsi          

&pcie {

    //power-on-gpio = <&gpio6 8 0>; //no power control-pin

    reset-gpio = <&gpio3 30 0>;

    status = "okay";

};



---------------for imx6qdl.dtsi                                                                                                                                                                                                                                                                                                                                                                             

intc: interrupt-controller@00a01000 {

        compatible = "arm,cortex-a9-gic";

        #interrupt-cells = <3>;

        //#address-cells = <1>; -----------------canceled by lqy for tw6869 irq request------------------

        //#size-cells = <1>; -----------------canceled by lqy for tw6869 irq request------------------

        interrupt-controller;

        reg = <0x00a01000 0x1000>,

              <0x00a00100 0x100>;

    };

....

pcie: pcie@0x01000000 {

            compatible = "fsl,imx6q-pcie", "snps,dw-pcie";

            reg = <0x01ffc000 0x4000>, <0x01f00000 0x80000>;

            reg-names = "dbi", "config";

            #address-cells = <3>;

            #size-cells = <2>;

            device_type = "pci";

            ranges = <0x81000000 0 0          0x01f80000 0 0x00010000 /* downstream I/O */

                  0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */

            num-lanes = <1>;

            interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;

            //interrupt-names = "msi"; -----------------canceled by lqy for tw6869 irq request------------------

            #interrupt-cells = <1>;

            interrupt-map-mask = <0 0 0 0x7>;

            interrupt-map = <0 0 0 1 &intc 0 123 IRQ_TYPE_LEVEL_HIGH>,

                            <0 0 0 2 &intc 0 122 IRQ_TYPE_LEVEL_HIGH>,

                            <0 0 0 3 &intc 0 121 IRQ_TYPE_LEVEL_HIGH>,

                            <0 0 0 4 &intc 0 120 IRQ_TYPE_LEVEL_HIGH>;

            clocks = <&clks IMX6QDL_CLK_PCIE_REF_125M>,

                 <&clks IMX6QDL_CLK_SATA_REF_100M>,

                 <&clks IMX6QDL_CLK_LVDS1_GATE>, <&clks IMX6QDL_CLK_PCIE_AXI>;

            clock-names = "pcie_phy", "ref_100m", "pcie_bus", "pcie";

            status = "disabled";

        };




测试代码及命令

见附件main.cpp 测试代码为模块编译,未加入到系统中。

cd data

./v4l2_test -d /dev/video4

测试代码详见http://download.csdn.net/download/sunny_hu92/10119162

TW6869驱动http://download.csdn.net/download/sunny_hu92/10119218

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值