Показать сообщение отдельно
Старый 26.05.2016, 23:52   #185
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 909
Вес репутации: 954
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: Прошивка CyberWrt на роутер Nexx WT3020H

Доступные gpio на Nexx WT3020 (корпус проца MT7620 - DRQFN), начало здесь

gpio 0,1,2,18,19 управляются (1 - reset)

gpio1 (reset) - отвязываем от системы, в WT3020.dts, заключаем секцию
/* gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 1 1>;
linux,code = <0x198>;
};
};
*/

gpio 15,16 - Rx, Tx - возможно перевести в режим gpio, консоль отключается, в mt7620n.dtsi меняем
ralink,function = "uartlite"; -> ralink,function = "gpio";

gpio 17,20,21 - управляются, к 17,21 воэможно подпаяться, нанопайка (скрин3)

gpio 40-44 - (EPHY Led 0-4) - управляются, к 41,43,44 воэможно подпаяться, нанопайка (скрин3)

gpio 3-6, 37-39 - SPI, к 38 (Spi Hold) и 39 (Spi WP) воэможно подпаяться (дорожки выведены (скрин2)), они к флешке не подключены (свободны), но чтобы их задействовать нужно в dts как-то исключить их из SPI, это программирование знать надо

Работа gpio в I2C hd44780 модуль на расширителе PCF8574, gpio1 - w1, gpio2 - scl, gpio15 - sda. (Скрин4)
C модуля с шины i2c (sda,scl) выпаял подвязку 4.7кОм. Иначе не получается, чтобы роутер с подключенным модулем стартовал нормально.

P.S. Подпаялся всё-таки к процу, к gpio 43 и 44, жесть (скрин 3 и 5)

P.S.2

Для задействования gpio 37, 38, 39:

В WT3020.dts добавляем в указанное ниже место секцию gpio1: gpio@638 (для GPIOs 24-39)
Код:
	palmbus@10000000 {
                gpio2: gpio@660 {
                        status = "okay";
                };

                gpio3: gpio@688 {
                        status = "okay";
                };

                gpio1: gpio@638 {
                        status = "okay";
                };
Там же в WT3020.dts добавляем в строчке параметр "spi refclk" (переводит в режим gpio - 37 (spi SC1), 38 (spi Hold), 39 (spi WP))

ralink,group = "ephy", "wled", "pa", "i2c", "wdt", "uartf"; --> ralink,group = "ephy", "wled", "pa", "i2c", "wdt", "uartf", "spi refclk";

Или так добавить, результат одинаков будет:
Код:
	pinctrl {
		state_default: pinctrl0 {
			default {
				ralink,group = "ephy", "wled", "pa", "i2c", "wdt", "uartf";
				ralink,function = "gpio";
			};
		};
		spi_pins: spi {
			spi_refclk {
				ralink,group = "spi refclk";
				ralink,function = "gpio";
			};
		};
	};
Примечание: у меня WT3020.dts настроенный на 16Мб флешь, в стандартном варианте файлы WT3020-4M.dts и WT3020-8M.dts

После компиляции, можно экспортировать, только тут есть проблемы:

1. Gpio 37, 38, 39 экспортируются на in и out, на out переключается между hi и lo (проверял на самих контактах физически),

НО !!! по
cat /sys/class/gpio/gpio38/value
cat /sys/kernel/debug/gpio
уровни всегда показывает lo (на всех 3х gpio). Возможно надо еще что-то править в dts, мож потом нарою

Gpio 38 (в схеме подвязан к 3.3В через 4.7кОм) в I2C hd44780 модуль на расширителе PCF8574 задействовал как sda - работает!!!

2. Gpio 39 подвязал (запаял 4.7кОм) к 3.3В - при включение горит всё время светодиод, подумал что спалил роутер, скока можно мучать . Выпаял подвязку, заработал, экспериментировать дальше не стал.

P.S.3 Если подвязку на gpio 39 подключить немного погодя после старта, то роутер тоже так нормально грузиться
Код:
root@OpenWrt:~# echo 38 > /sys/class/gpio/export
root@OpenWrt:~# echo 39 > /sys/class/gpio/export
root@OpenWrt:~# cat /sys/kernel/debug/gpio
GPIOs 0-23, platform/10000600.gpio, 10000600.gpio:
 gpio-1   (w1                  ) in  hi

GPIOs 24-39, platform/10000638.gpio, 10000638.gpio:
 gpio-38  (sysfs               ) in  lo
 gpio-39  (sysfs               ) in  lo

GPIOs 40-71, platform/10000660.gpio, 10000660.gpio:
 gpio-43  (sda                 ) in  hi
 gpio-44  (scl                 ) in  hi

GPIOs 72-72, platform/10000688.gpio, 10000688.gpio:
 gpio-72  (nexx:blue:power     ) out lo
I2C hd44780 модуль на расширителе PCF8574 на таких gpio сейчас пашет
Код:
root@OpenWrt:~# cat /sys/kernel/debug/gpio
GPIOs 0-23, platform/10000600.gpio, 10000600.gpio:
 gpio-1   (w1                  ) in  hi
 gpio-2   (scl                 ) in  hi

GPIOs 24-39, platform/10000638.gpio, 10000638.gpio:
 gpio-38  (sda                 ) in  lo

GPIOs 40-71, platform/10000660.gpio, 10000660.gpio:

GPIOs 72-72, platform/10000688.gpio, 10000688.gpio:
 gpio-72  (nexx:blue:power     ) out lo
root@OpenWrt:~#
P.S.4

При старте:

gpio 18 - в момент старта это сигнал XTAL_FREQ_SEL и если перевести в hi (3.3В подвязка), то 20 MHz -> 40 MHz. Роутер стартует, в консоле явно выводиться инфа, но скорость никакая не подходит, по сети тоже не заходит.
Роутер грузиться в 2 раза дольше, то что он работает показывает I2C hd44780 модуль на расширителе PCF8574, который выводит инфу (датчик не работает) и время часов замедлено в 2 раза.

gpio 0 - в момент старта уровни на SPI_MOSI (0), SPI_CLK (0), TXD2 (1), GPIO0 (0) определяют режим chip mode. На WT3020 режим - 2: Normal mode (boot from SPI 3-Byte Addr). Если gpio 0 перевести в hi, то роутер переводться в режим - 3: Normal mode (boot from SPI 4-Byte Addr) и поэтому не стартует.

gpio 19 - в момент старта определяет режим gpio 40 - 44 (LED/JTAG), так что его можно подвязать к hi - роутер стартует нормально

gpio 38 - в момент старта уровни на SPI_WP (38 - не подвязан), SPI_HOLD (39 к hi) определяют режим DDR/DDR2/SDRAM, на WT3020 режим 1 (DDR), при gpio 38 к hi роутер не стартует.
Миниатюры
Нажмите на изображение для увеличения
Название: wt3020_1.jpg
Просмотров: 700
Размер:	310.7 Кб
ID:	3943   Нажмите на изображение для увеличения
Название: wt3020_2.jpg
Просмотров: 238
Размер:	332.8 Кб
ID:	3944   Нажмите на изображение для увеличения
Название: cpu2.jpg
Просмотров: 525
Размер:	345.7 Кб
ID:	3945   Нажмите на изображение для увеличения
Название: 2016-05-26_225757.jpg
Просмотров: 212
Размер:	41.0 Кб
ID:	3946  

Нажмите на изображение для увеличения
Название: 2016-05-29_231219.jpg
Просмотров: 233
Размер:	35.4 Кб
ID:	3947  

Последний раз редактировалось sakatgg; 10.06.2016 в 13:29. Причина: Gpio 37, 38, 39
sakatgg вне форума   Ответить с цитированием