Kernel overlays causing pinmux conflicts (kernel version 4.4.27-bone-rt-r16)

319 views
Skip to first unread message

Mrudula Chougule

unread,
Jul 18, 2018, 8:16:37 AM7/18/18
to BeagleBoard


Hi,

I am using beagle bone green running with u-boot 2016.11.rc3 kernel 4.4.27-bone-rt-r16, rootfs ubuntu 16.04. My uEnv.txt file is as below:
cmdline=cape_disable=bone_capemgr.disable_partno=BB-BONELT-HDMI, BB-BONELT-HDMIN, BB-BONE-HDMI bone_capemgr.enable_partno=BB-UART1,BB-AAIM-LCD:00A1,BB-UART4,BB-UART2,BB-I2C1. On bootup it runs uenvcmd.

I have below pinmux conflict errors while loading dtbs:

[ 10.357438] systemd-journald[142]: Received request to flush runtime journal from PID 1
[ 11.755032] pinctrl-single 44e10800.pinmux: pin 44e10984.0 already requested by 48022000.serial; cannot claim for 48302200.ehrpwm
[ 11.764547] davinci-mcasp 48038000.mcasp: invalid tdm slots: 0
[ 11.784831] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[ 11.785262] davinci-mcasp 4803c000.mcasp: invalid tdm slots: 0
[ 11.808619] of_graph_get_next_endpoint(): no port node found in /ocp/lcdc@4830e000
[ 11.815271] of_graph_get_next_endpoint(): no port node found in /ocp/lcdc@4830e000
[ 11.835121] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 11.835126] [drm] No driver support for vblank timestamp query.
[ 12.175199] pinctrl-single 44e10800.pinmux: pin-97 (48302200.ehrpwm) status -22
[ 12.175215] pinctrl-single 44e10800.pinmux: could not request pin 97 (44e10984.0) from group pinmux_bb_uart1_pins on device pinctrl-single
[ 12.175223] ehrpwm 48302200.ehrpwm: Error applying setting, reverse things back

Could you please guide me how to resolve these errors.

Attaching our custom dtb for LCD:
/*

  • 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/;
    /plugin/;

#include <dt-bindings/board/am335x-bbw-bbb-base.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/am33xx.h>

/ {
compatible = "ti,beaglebone", "ti,beaglebone-black", "ti,beaglebone-green";

/* identification */
part-number = "BB-AAIM-LCD";
version = "00A1";

/* state the resources this cape uses */
exclusive-use =
	/* the pin header uses */
	"P8.45",	/* lcd: lcd_data0 */
	"P8.46",	/* lcd: lcd_data1 */
	"P8.43",	/* lcd: lcd_data2 */
	"P8.44",	/* lcd: lcd_data3 */
	"P8.41",	/* lcd: lcd_data4 */
	"P8.42",	/* lcd: lcd_data5 */
	"P8.39",	/* lcd: lcd_data6 */
	"P8.40",	/* lcd: lcd_data7 */
	"P8.37",	/* lcd: lcd_data8 */
	"P8.38",	/* lcd: lcd_data9 */
	"P8.36",	/* lcd: lcd_data10 */
	"P8.34",	/* lcd: lcd_data11 */
	"P8.35",	/* lcd: lcd_data12 */
	"P8.33",	/* lcd: lcd_data13 */
	"P8.31",	/* lcd: lcd_data14 */
	"P8.32",	/* lcd: lcd_data15 */

	"P8.15",	/* gpmc_ad15.lcd_data16 */
	"P8.16",	/* gpmc_ad14.lcd_data17 */
	"P8.11",	/* gpmc_ad13.lcd_data18 */
	"P8.12",	/* gpmc_ad12.lcd_data19 */
	"P8.17",	/* gpmc_ad11.lcd_data20 */
	"P8.14",	/* gpmc_ad10.lcd_data21 */
	"P8.13",	/* gpmc_ad9.lcd_data22 */
	"P8.19",	/* gpmc_ad8.lcd_data23 */

	"P8.27",	/* lcd: lcd_vsync */
	"P8.29",	/* lcd: lcd_hsync */
	"P8.28",	/* lcd: lcd_pclk */
	"P8.30",	/* lcd: lcd_ac_bias_en */

	"P9.27",	/* lcd: gpio3_19 */
	"P9.12",	/* led: gpio1_28 */

	"P9.14",	/* pwm: ehrpwm1a */

	"lcd",
 	"ehrpwm1a"; 

fragment@0 {
	target = <&am33xx_pinmux>;
	__overlay__ {
		bb_lcd_pwm_backlight_pins: pinmux_bb_lcd_pwm_backlight_pins {
			pinctrl-single,pins = <
				BONE_P9_14 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a2.ehrpwm1a */
			>;
		};

		bb_lcd_lcd_pins: pinmux_bb_lcd_lcd_pins {
			pinctrl-single,pins = <
				BONE_P8_45 (PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
				BONE_P8_46 (PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
				BONE_P8_43 (PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
				BONE_P8_44 (PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
				BONE_P8_41 (PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
				BONE_P8_42 (PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
				BONE_P8_39 (PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
				BONE_P8_40 (PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
				BONE_P8_37 (PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
				BONE_P8_38 (PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
				BONE_P8_36 (PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
				BONE_P8_34 (PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
				BONE_P8_35 (PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
				BONE_P8_33 (PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
				BONE_P8_31 (PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
				BONE_P8_32 (PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */

				BONE_P8_15 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad15.lcd_data16 */
				BONE_P8_16 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad14.lcd_data17 */
				BONE_P8_11 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad13.lcd_data18 */
				BONE_P8_12 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad12.lcd_data19 */
				BONE_P8_17 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad11.lcd_data20 */
				BONE_P8_14 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad10.lcd_data21 */
				BONE_P8_13 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad9.lcd_data22 */
				BONE_P8_19 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad8.lcd_data23 */

				BONE_P8_27 (PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */
				BONE_P8_29 (PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */
				BONE_P8_28 (PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */
				BONE_P8_30 (PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
			>;
		};
	};
};

fragment@1 {
	target = <&epwmss1>;
	__overlay__ {
		status = "okay";
	};
};

fragment@2 {
	target = <&ehrpwm1>;
	__overlay__ {
		pinctrl-names = "default";
		pinctrl-0 = <&bb_lcd_pwm_backlight_pins>;
		status = "okay";
	};
};

fragment@3 {
	target = <&lcdc>;
	__overlay__ {
		status = "okay";
	};
};

fragment@4 {
	target-path="/";
	__overlay__ {

		/* avoid stupid warning */
		#address-cells = <1>;
		#size-cells = <1>;

		/* Embest 7 inch LCD cape: */
		panel {
			status = "okay";
			compatible = "ti,tilcdc,panel";
			pinctrl-names = "default";
			pinctrl-0 = <&bb_lcd_lcd_pins>;
			panel-info {
				ac-bias           = <255>;
				ac-bias-intrpt    = <0>;
				dma-burst-sz      = <16>;
				bpp               = <32>;
				fdd               = <0x80>;
				tft-alt-mode      = <0>;
				stn-565-mode      = <0>;
				mono-8bit-mode    = <0>;
				sync-edge         = <0>;
				sync-ctrl         = <0>;
				raster-order      = <1>;
				fifo-th           = <0>;
			};
			display-timings {
				native-mode = <&timing0>;
				timing0: 1280x800 {
					clock-frequency = <68000000>;
					hactive = <1280>;
					vactive = <800>;
					hfront-porch = <64>;
					hback-porch = <5>;
				    hsync-len = <2>;       /* was 30 */
					vback-porch = <2>;
					vfront-porch = <40>;
					vsync-len = <2>; 
					hsync-active = <0>;
					vsync-active  = <0>;
                    de-active = <0>;
                    pixelclk-active = <0>;
				};
			};
		};
	};
};

};

Thanks,
Mrudula

Robert Nelson

unread,
Jul 18, 2018, 9:19:00 AM7/18/18
to Beagle Board
> [ 12.175199] pinctrl-single 44e10800.pinmux: pin-97 (48302200.ehrpwm) status
> -22
> [ 12.175215] pinctrl-single 44e10800.pinmux: could not request pin 97
> (44e10984.0) from group pinmux_bb_uart1_pins on device pinctrl-single
> [ 12.175223] ehrpwm 48302200.ehrpwm: Error applying setting, reverse things
> back

Your PWM node and uart1 are sharing pins.. Fix that...

Regards,

--
Robert Nelson
https://rcn-ee.com/
Reply all
Reply to author
Forward
0 new messages