Hi again,
The custom device tree configuration produce some errors on boot up. The
most significant errors are:
[ 2.360604] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 2.719239] slave hdmi: could not get i2c
[ 3.279978] omap_vout:Could not register Video driver
[ 3.292445] sr_init: platform driver register failed for SR
[ 3.847739] systemd[1]: Failed to enumerate cgroup controllers: No such
file or directory
[ 15.711163] systemd[1]: Failed to start Load Kernel Modules.
[ 19.921960] remoteproc0: failed to load am335x-pm-firmware.elf
[ 20.097918] remoteproc0: request_firmware failed: -2
[ 20.103564] wkup_m3 44d00000.wkup_m3: rproc_boot failed
[ 25.486841] libphy: PHY 4a101000.mdio:01 not found
[ 25.492142] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 97.760166] omap_i2c 4819c000.i2c: controller timed out
[ 98.761749] omap_i2c 4819c000.i2c: controller timed out
[ 99.760158] omap_i2c 4819c000.i2c: controller timed out
[ 100.760159] omap_i2c 4819c000.i2c: controller timed out
The problem seems to be related with I2C communication. The camera cape is
an i2c soc_camera and interacts through i2c-2 (bus 2).
Testing that bus communication I get a "controlled timed out" error. Is not
responding.
root@beaglebone:~# i2cdetect -r 2
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: [10856.560130] omap_i2c 4819c000.i2c: controller timed out
-- [10857.560188] omap_i2c 4819c000.i2c: controller timed out
-- [10858.580154] omap_i2c 4819c000.i2c: controller timed out
-- [10859.600173] omap_i2c 4819c000.i2c: controller timed out
So, now I'm trying to wake up that i2c bus in order to activate the
communication with the camera cape. To do so I'm modifying the device tree
attached in the first comment.
Also added a 'new' cape instance in "am335x-bone-i2c2-cape-eeprom.dtsi"
with the sensor's information and deleted from the custom device tree.
cape_cam0: cape_vddn_cam@58 {
compatible = "aptina, mt9m114";
reg = <0x58>;
#address-cells = <1>;
#size-cells = <0>;
/* dummy pll flags m, n, p1-7, PLL hardcoded in Driver */
/*flags = <0>;
pll-divider = <0 0 0 0 0 0 0 0 0>;*/
};
Any help will be appreciated!
Sergi.
El viernes, 13 de noviembre de 2015, 8:19:56 (UTC+1), Sergi D escribió:
>
> Yes. In kernel 3.8 worked perfectly.
>
> El viernes, 13 de noviembre de 2015, 5:06:42 (UTC+1), lisarden escribió:
>>
>> Did this sensor work in 3.8?
>> 11 Ноя 2015 г. 14:08 пользователь "Sergi D" <[email protected]> написал:
>>
>>> Hi All,
>>>
>>> I am trying to get work my Aptina camera MT9M114
>>> <http://elinux.org/Beagleboard:BeagleBone_1.2MP_Camera> in the 3.14
>>> kernel for a Beaglebone Black.
>>>
>>> I'm using the RobertCNelson github
>>> <https://github.com/beagleboard/linux/tree/3.14>'s kernel and also the
>>> dtb-builder. But I had no lucky because working on I realized that there's
>>> no driver for that sensor in the kernel. I tried to import it from kernel
>>> 3.8. I copied the files and modified the Kconfig and Makefile. I obtained
>>> the corresponding menu entry in menuconfig. I'm able to select the driver
>>> as module or built-in.
>>>
>>> Anyone knows if the sensor driver is compatible with my actual kernel
>>> version? There are other drivers compatible with the mt9m114 sensor?
>>>
>>> I'm trying to create a device tree include (dtsi) based on the
>>> BB-BONE-VVDN-00A0.dts but making it static and not with overlays to add as
>>> include in am335x-boneblack.dts. (attached file:
>>> am335x-bone-cam-vvdn-00a0.dtsi)
>>>
>>> The kernel, modules and dtbs compiles without errors but when I install
>>> all in the BBB nothing related to /dev/video0 or media/i2c appears during
>>> the boot or dmesg.
>>>
>>> Porting from 3.8 to 3.14 may create pin conflicts? It is possible that
>>> device tree is not calling the driver?
>>>
>>> Any help will be appreciated!
>>> Sergi.
>>>
>>> --
>>> For more options, visit http://beagleboard.org/discuss
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "BeagleBoard" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
/*
* 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>;
ti,non-removable;
status = "okay";
};
&am33xx_pinmux {
pwm_bl_pins: pinmux_pwm_bl_pins {
pinctrl-single,pins = <
0x48 0x06 /* gpmc_a2.ehrpwm1a, OMAP_MUX_MODE6 |
AM33XX_PIN_OUTPUT */
>;
};
bbb_uart2_pins: pinmux_bbb_uart2_pins {
pinctrl-single,pins = <
0x150 0x21 /* spi0_sclk.uart2_rxd | MODE1 */
0x154 0x01 /* spi0_d0.uart2_txd | MODE1 */
>;
};
bbb_lcd_pins: pinmux_bbb_lcd_pins {
pinctrl-single,pins = <
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 */
0x1a4 0x17 /* mcasp0_fsr.gpio3_19, OUTPUT | MODE7
LCD DISEN */
>;
};
};
&uart2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&bbb_uart2_pins>;
};
&epwmss1 {
status = "okay";
};
&ehrpwm1 {
status = "okay";
};
/ {
backlight {
compatible = "pwm-backlight";
pinctrl-names = "default";
pinctrl-0 = <&pwm_bl_pins>;
pwms = <&ehrpwm1 0 500000 0>;
pwm-names = "LCD4";
brightness-levels = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
95 96 97 98 99 100>;
default-brightness-level = <101>; /* index to the array above */
status = "okay";
};
tscadc {
compatible = "ti,ti-tscadc";
reg = <0x44e0d000 0x1000>;
interrupt-parent = <&intc>;
interrupts = <16>;
ti,hwmods = "adc_tsc";
status = "okay";
tsc {
ti,wires = <4>;
ti,x-plate-resistance = <200>;
ti,coordinate-readouts = <5>;
ti,wire-config = <0x00 0x11 0x22 0x33>;
};
adc {
ti,adc-channels = <4 5 6 7>;
};
};
};
&lcdc {
pinctrl-names = "default";
pinctrl-0 = <&bbb_lcd_pins>;
status = "okay";
panel-info {
ac-bias = <255>;
ac-bias-intrpt = <0>;
dma-burst-sz = <16>;
bpp = <16>;
fdd = <0x80>;
tft-alt-mode = <0>;
stn-565-mode = <0>;
mono-8bit-mode = <0>;
sync-edge = <0>;
sync-ctrl = <1>;
raster-order = <0>;
fifo-th = <0>;
};
display-timings {
640x480 {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hfront-porch = <16>;
hback-porch = <48>;
hsync-len = <96>;
vback-porch = <33>;
vfront-porch = <10>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
};
};
};