[求助]Openwrt MT7620A 第二个串口打开

帕奇洛 无无  2015-09-06 05:02:02

如下为板子启动过程,


..............................省略无关信息..............................
[ 0.070000] pinctrl core: registered pin 69 (io69) on rt2880-pinmux
[ 0.070000] pinctrl core: registered pin 70 (io70) on rt2880-pinmux
[ 0.070000] pinctrl core: registered pin 71 (io71) on rt2880-pinmux
[ 0.070000] pinctrl core: registered pin 72 (io72) on rt2880-pinmux
[ 0.070000] pinctrl core: add 5 pinmux maps
[ 0.070000] rt2880-pinmux pinctrl: found group selector 11 for wled
[ 0.070000] rt2880-pinmux pinctrl: found group selector 13 for pa
[ 0.070000] rt2880-pinmux pinctrl: found group selector 0 for i2c
[ 0.070000] rt2880-pinmux pinctrl: found group selector 4 for wdt
[ 0.070000] rt2880-pinmux pinctrl: found group selector 1 for uartf
[ 0.070000] rt2880-pinmux pinctrl: request pin 72 (io72) for pinctrl
[ 0.070000] rt2880-pinmux pinctrl: wled(11),gpio(0) = a311d
[ 0.080000] rt2880-pinmux pinctrl: request pin 18 (io18) for pinctrl
[ 0.080000] rt2880-pinmux pinctrl: request pin 19 (io19) for pinctrl
[ 0.080000] rt2880-pinmux pinctrl: request pin 20 (io20) for pinctrl
[ 0.080000] rt2880-pinmux pinctrl: request pin 21 (io21) for pinctrl
[ 0.080000] rt2880-pinmux pinctrl: pa(13),gpio(0) = 1a311d
[ 0.080000] rt2880-pinmux pinctrl: request pin 1 (io1) for pinctrl
[ 0.080000] rt2880-pinmux pinctrl: request pin 2 (io2) for pinctrl
[ 0.080000] rt2880-pinmux pinctrl: i2c(0),gpio(0) = 1a311d
[ 0.090000] rt2880-pinmux pinctrl: request pin 17 (io17) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: wdt(4),gpio(0) = 5a311d
[ 0.090000] rt2880-pinmux pinctrl: request pin 7 (io7) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: request pin 8 (io8) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: request pin 9 (io9) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: request pin 10 (io10) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: request pin 11 (io11) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: request pin 12 (io12) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: request pin 13 (io13) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: request pin 14 (io14) for pinctrl
[ 0.090000] rt2880-pinmux pinctrl: uartf(1),gpio(0) = 5a311d
[ 0.100000] rt2880-pinmux pinctrl: failed to lookup the sleep state
[ 0.100000] rt2880_gpio 10000600.gpio: registering 24 gpios
[ 0.110000] rt2880_gpio 10000600.gpio: registering 24 irq handlers
[ 0.110000] rt2880_gpio 10000660.gpio: registering 32 gpios
[ 0.120000] rt2880_gpio 10000660.gpio: registering 32 irq handlers
[ 0.120000] rt2880_gpio 10000688.gpio: registering 1 gpios
[ 0.130000] rt2880_gpio 10000688.gpio: registering 1 irq handlers
[ 0.130000] Switched to clocksource systick
[ 0.140000] NET: Registered protocol family 2
[ 0.140000] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.160000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.160000] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.180000] TCP: reno registered
[ 0.190000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.200000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.210000] NET: Registered protocol family 1
[ 0.220000] PCI: CLS 0 bytes, default 32
[ 0.220000] rt-timer 10000100.timer: maximum frequency is 2441Hz
[ 0.240000] alarmtimer alarmtimer: no of_node; not parsing pinctrl DT
[ 0.240000] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.260000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.260000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.290000] msgmni has been set to 500
[ 0.290000] io scheduler noop registered
[ 0.300000] io scheduler deadline registered (default)
[ 0.310000] drivers/phy/phy-ralink-usb.c:ralink_usb_phy_probe[147]
[ 0.330000] drivers/phy/phy-ralink-usb.c:ralink_usb_phy_probe[161]
[ 0.330000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 0.350000] serial8250 serial8250: no of_node; not parsing pinctrl DT
[ 0.350000] pinctrl core: add 1 pinmux maps
[ 0.350000] rt2880-pinmux pinctrl: found group selector 1 for uartf
[ 0.350000] rt2880-pinmux pinctrl: request pin 7 (io7) for 10000500.uart
[ 0.350000] rt2880-pinmux pinctrl: pin io7 already requested by pinctrl; cannot claim for 10000500.uart
[ 0.370000] rt2880-pinmux pinctrl: pin-7 (10000500.uart) status -22
[ 0.380000] rt2880-pinmux pinctrl: could not request pin 7 (io7) from group uartf on device rt2880-pinmux
[ 0.400000] of_serial 10000500.uart: Error applying setting, reverse things back
[ 0.420000] 10000500.uart: ttyS0 at MMIO 0x10000500 (irq = 13, base_baud = 2500000) is a 16550A
[ 0.440000] pinctrl core: add 1 pinmux maps
[ 0.440000] rt2880-pinmux pinctrl: found group selector 3 for uartlite
[ 0.440000] rt2880-pinmux pinctrl: request pin 15 (io15) for 10000c00.uartlite
[ 0.440000] rt2880-pinmux pinctrl: request pin 16 (io16) for 10000c00.uartlite
[ 0.440000] rt2880-pinmux pinctrl: uartlite(3),uartlite(10) = 5a311d
[ 0.440000] console [ttyS1] disabled
[ 0.460000] 10000c00.uartlite: ttyS1 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a 16550A
[ 0.460000] console [ttyS1] enabled
[ 0.490000] bootconsole [early0] disabled
..............................省略无关信息..............................


...全文
3272 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
soso90soso 2017-11-23
我已经实现,为了方便其他人查找,弄了Netouter开发板,已经打包整个镜像~~~
回复
夜晓码农 2017-07-20
看了输出是GPIO7被占用了 我也遇到过一次,后面发现是自己对uartf进行了两次配置。后面去掉其中一次就不报 ..... rt2880-pinmux pinctrl: pin io7 already requested by pinctrl; cannot claim for 10000500.uart ..... 之类的错误了。 虽然不报错,但是扩展串口还是不能,后面查看模组电路图发现,使用I2S接口,所以将uartf配置修改为 "i2s uartf"后,就正常了。 关于第二个串口不能用,需要参考一下电路图,看到底是引出了哪个针脚,很多的都是引出了GPIO #7,#8,#9,#10 所以百度出很多这种引脚的dts配置,但是如果引出的不是这个针脚,通常都不顶用
回复
帕奇洛 2016-02-29
已经改用其他方案
回复
帕奇洛 2015-09-28
引用 2 楼 soso90soso 的回复:
有有什么现象。这样配还不通么?我看你配了i2s。这个调试怎么样
CTS 一直高电平,然后其他全部低电平。完全就是没有信号输出
回复
soso90soso 2015-09-27
有有什么现象。这样配还不通么?我看你配了i2s。这个调试怎么样
回复
帕奇洛 2015-09-06
再贴上dts,
/ {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "ralink,mtk7620a-soc";

	cpus {
		cpu@0 {
			compatible = "mips,mips24KEc";
		};
	};

	chosen {
		bootargs = "console=ttyS0,57600";
	};

	cpuintc: cpuintc@0 {
		#address-cells = <0>;
		#interrupt-cells = <1>;
		interrupt-controller;
		compatible = "mti,cpu-interrupt-controller";
	};

	palmbus@10000000 {
		compatible = "palmbus";
		reg = <0x10000000 0x200000>;
                ranges = <0x0 0x10000000 0x1FFFFF>;

		#address-cells = <1>;
		#size-cells = <1>;

		sysc@0 {
			compatible = "ralink,mt7620a-sysc", "ralink,rt3050-sysc";
			reg = <0x0 0x100>;
		};

		timer@100 {
			compatible = "ralink,mt7620a-timer", "ralink,rt2880-timer";
			reg = <0x100 0x20>;

			interrupt-parent = <&intc>;
			interrupts = <1>;
		};

		watchdog@120 {
			compatible = "ralink,mt7620a-wdt", "ralink,rt2880-wdt";
			reg = <0x120 0x10>;

			resets = <&rstctrl 8>;
			reset-names = "wdt";

			interrupt-parent = <&intc>;
			interrupts = <1>;
		};

		intc: intc@200 {
			compatible = "ralink,mt7620a-intc", "ralink,rt2880-intc";
			reg = <0x200 0x100>;

			resets = <&rstctrl 19>;
			reset-names = "intc";

			interrupt-controller;
			#interrupt-cells = <1>;

			interrupt-parent = <&cpuintc>;
			interrupts = <2>;
		};

		memc@300 {
			compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc";
			reg = <0x300 0x100>;

			resets = <&rstctrl 20>;
			reset-names = "mc";

			interrupt-parent = <&intc>;
			interrupts = <3>;
		};

		uart@500 {
			compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
			reg = <0x500 0x100>;

			resets = <&rstctrl 12>;
			reset-names = "uart";

			interrupt-parent = <&intc>;
			interrupts = <5>;

			reg-shift = <2>;

			status = "disabled";

			pinctrl-names = "default";
			pinctrl-0 = <&uartf_pins>;
		};

		gpio0: gpio@600 {
			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
			reg = <0x600 0x34>;

			resets = <&rstctrl 13>;
			reset-names = "pio";

			interrupt-parent = <&intc>;
			interrupts = <6>;

			gpio-controller;
			#gpio-cells = <2>;

			ralink,gpio-base = <0>;
			ralink,num-gpios = <24>;
			ralink,register-map = [ 00 04 08 0c
						20 24 28 2c
						30 34 ];
		};

		gpio1: gpio@638 {
			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
			reg = <0x638 0x24>;

			interrupt-parent = <&intc>;
			interrupts = <6>;

			gpio-controller;
			#gpio-cells = <2>;

			ralink,gpio-base = <24>;
			ralink,num-gpios = <16>;
			ralink,register-map = [ 00 04 08 0c
						10 14 18 1c
						20 24 ];

			status = "disabled";
		};

		gpio2: gpio@660 {
			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
			reg = <0x660 0x24>;

			interrupt-parent = <&intc>;
			interrupts = <6>;

			gpio-controller;
			#gpio-cells = <2>;

			ralink,gpio-base = <40>;
			ralink,num-gpios = <32>;
			ralink,register-map = [ 00 04 08 0c
						10 14 18 1c
						20 24 ];

			status = "disabled";
		};

		gpio3: gpio@688 {
			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
			reg = <0x688 0x24>;

			interrupt-parent = <&intc>;
			interrupts = <6>;

			gpio-controller;
			#gpio-cells = <2>;

			ralink,gpio-base = <72>;
			ralink,num-gpios = <1>;
			ralink,register-map = [ 00 04 08 0c
						10 14 18 1c
						20 24 ];

			status = "disabled";
		};

		i2c@900 {
			compatible = "link,mt7620a-i2c", "ralink,rt2880-i2c";
			reg = <0x900 0x100>;

			resets = <&rstctrl 16>;
			reset-names = "i2c";

			#address-cells = <1>;
			#size-cells = <0>;

			status = "disabled";

			pinctrl-names = "default";
			pinctrl-0 = <&i2c_pins>;
		};

		i2s@a00 {
			compatible = "ralink,mt7620a-i2s";
			reg = <0xa00 0x100>;

			resets = <&rstctrl 17>;
			reset-names = "i2s";

			interrupt-parent = <&intc>;
			interrupts = <10>;

			dmas = <&gdma 4>,
				<&gdma 5>;
			dma-names = "tx", "rx";

			status = "disabled";
		};

		spi@b00 {
			compatible = "ralink,mt7620a-spi", "ralink,rt2880-spi";
			reg = <0xb00 0x100>;

			resets = <&rstctrl 18>;
			reset-names = "spi";

			#address-cells = <1>;
			#size-cells = <1>;

			status = "okay";

			pinctrl-names = "default";
			pinctrl-0 = <&spi_pins>;
		};

		uartlite@c00 {
			compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
			reg = <0xc00 0x100>;

			resets = <&rstctrl 19>;
			reset-names = "uartl";

			interrupt-parent = <&intc>;
			interrupts = <12>;

			reg-shift = <2>;

			pinctrl-names = "default";
			pinctrl-0 = <&uartlite_pins>;
		};

		systick@d00 {
			compatible = "ralink,mt7620a-systick", "ralink,cevt-systick";
			reg = <0xd00 0x10>;

			resets = <&rstctrl 28>;
			reset-names = "intc";

			interrupt-parent = <&cpuintc>;
			interrupts = <7>;
		};

		pcm@2000 {
			compatible = "ralink,mt7620a-pcm";
			reg = <0x2000 0x800>;

			resets = <&rstctrl 11>;
			reset-names = "pcm";

			interrupt-parent = <&intc>;
			interrupts = <4>;

			status = "disabled";
		};

		gdma: gdma@2800 {
			compatible = "ralink,mt7620a-gdma", "ralink,rt2880-gdma";
			reg = <0x2800 0x800>;

			resets = <&rstctrl 14>;
			reset-names = "dma";

			interrupt-parent = <&intc>;
			interrupts = <7>;

			#dma-cells = <1>;
			#dma-channels = <16>;
			#dma-requests = <16>;

			status = "disabled";
		};
	};

	pinctrl {
		compatible = "ralink,rt2880-pinmux";
		pinctrl-names = "default";
		pinctrl-0 = <&state_default>;
		state_default: pinctrl0 {
		};
		pcm_i2s_pins: pcm_i2s {
			pcm_i2s {
				ralink,group = "uartf";
				ralink,function = "pcm i2s";
			};
		};
		uartf_pins: uartfull{
			uart{
				ralink,group = "uartf";
				ralink,function = "uartf";
			};
		};
		uartf_gpio_pins: uartf_gpio {
			uartf_gpio {
				ralink,group = "uartf";
				ralink,function = "gpio uartf";
			};
		};
		spi_pins: spi {
			spi {
				ralink,group = "spi";
				ralink,function = "spi";
			};
		};
		i2c_pins: i2c {
			i2c {
				ralink,group = "i2c";
				ralink,function = "i2c";
			};
		};
		uartlite_pins: uartlite {
			uart {
				ralink,group = "uartlite";
				ralink,function = "uartlite";
			};
		};
		mdio_pins: mdio {
			mdio {
				ralink,group = "mdio";
				ralink,function = "mdio";
			};
		};
		ephy_pins: ephy {
			ephy {
				ralink,group = "ephy";
				ralink,function = "ephy";
			};
		};
		wled_pins: wled {
			wled {
				ralink,group = "wled";
				ralink,function = "wled";
			};
		};
		rgmii1_pins: rgmii1 {
			rgmii1 {
				ralink,group = "rgmii1";
				ralink,function = "rgmii1";
			};
		};
		rgmii2_pins: rgmii2 {
			rgmii2 {
				ralink,group = "rgmii2";
				ralink,function = "rgmii2";
			};
		};
		pcie_pins: pcie {
			pcie {
				ralink,group = "pcie";
				ralink,function = "pcie rst";
			};
		};
	};

	rstctrl: rstctrl {
		compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset";
		#reset-cells = <1>;
	};

	usbphy: usbphy {
		compatible = "ralink,mt7620a-usbphy";
		#phy-cells = <1>;

		resets = <&rstctrl 22 &rstctrl 25>;
		reset-names = "host", "device";
	};

	ethernet@10100000 {
		compatible = "ralink,mt7620a-eth";
		reg = <0x10100000 10000>;

		#address-cells = <1>;
		#size-cells = <0>;

		interrupt-parent = <&cpuintc>;
		interrupts = <5>;

		resets = <&rstctrl 21 &rstctrl 23>;
		reset-names = "fe", "esw";

		port@4 {
			compatible = "ralink,mt7620a-gsw-port", "ralink,eth-port";
			reg = <4>;

			status = "disabled";
		};

		port@5 {
			compatible = "ralink,mt7620a-gsw-port", "ralink,eth-port";
			reg = <5>;

			status = "disabled";
		};

		mdio-bus {
			#address-cells = <1>;
			#size-cells = <0>;

			status = "disabled";
		};
	};

	gsw@10110000 {
		compatible = "ralink,mt7620a-gsw";
		reg = <0x10110000 8000>;

		resets = <&rstctrl 23>;
		reset-names = "esw";

		interrupt-parent = <&intc>;
		interrupts = <17>;
	};

	sdhci@10130000 {
		compatible = "ralink,mt7620-sdhci";
		reg = <0x10130000 4000>;

		interrupt-parent = <&intc>;
		interrupts = <14>;

		status = "disabled";
	};

	ehci@101c0000 {
		compatible = "ralink,rt3xxx-ehci";
		reg = <0x101c0000 0x1000>;

		interrupt-parent = <&intc>;
		interrupts = <18>;

		phys = <&usbphy 1>;
		phy-names = "usb";

		status = "disabled";
	};

	ohci@101c1000 {
		compatible = "ralink,rt3xxx-ohci";
		reg = <0x101c1000 0x1000>;

		interrupt-parent = <&intc>;
		interrupts = <18>;

		phys = <&usbphy 1>;
		phy-names = "usb";

		status = "disabled";
	};

	pcie@10140000 {
		compatible = "mediatek,mt7620-pci";
		reg = <0x10140000 0x100
			0x10142000 0x100>;

		#address-cells = <3>;
		#size-cells = <2>;

		resets = <&rstctrl 26>;
		reset-names = "pcie0";

		interrupt-parent = <&cpuintc>;
		interrupts = <4>;

		pinctrl-names = "default";
		pinctrl-0 = <&pcie_pins>;

		device_type = "pci";

		bus-range = <0 255>;
		ranges = <
			0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
			0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
		>;

		status = "disabled";

		pcie-bridge {
			reg = <0x0000 0 0 0 0>;

			#address-cells = <3>;
			#size-cells = <2>;

			device_type = "pci";
		};
	};

	wmac@10180000 {
		compatible = "ralink,rt7620-wmac", "ralink,rt2880-wmac";
		reg = <0x10180000 40000>;

		interrupt-parent = <&cpuintc>;
		interrupts = <6>;

		ralink,eeprom = "soc_wmac.eeprom";
	};
};
回复
相关推荐
发帖
驱动开发/核心开发
创建于2007-09-28

2.1w+

社区成员

硬件/嵌入开发 驱动开发/核心开发
申请成为版主
帖子事件
创建了帖子
2015-09-06 05:02
社区公告
暂无公告