LINUX.ORG.RU

Хочу увеличить, но опасаюсь

 , ,


0

3

Рецидив Не запускается линукс после добавления оперативной памяти, но теперь решил сначала спросить, а потом делать.

Хочу сделать побольше памяти в планшете, 2 Гб вместо 1.

Сейчас оно выглядит вот так: https://ds-blobs-2.cdn.devapps.ru/28388501/IMG20230611170001.jpg

Мя выковырял из прошивки какую-то DTB (binwalk находит её раз 5, с одинаковыми данными), в ней ничего про память не нашёл. Значит ли это, что девайс определяет объём памяти автоматически?

Как выбрать чип под замену, нужно ли брать того же производителя? На что это может влиять? Как в таких системах настраиваются тайминги памяти, если дело в них, и какие вообще они есть?

Декомпилятину выковырянного прикладываю:

/dts-v1/;

/ {
	compatible = "rockchip,px30-evb\0rockchip,px30";
	#address-cells = <0x02>;
	#size-cells = <0x02>;
	model = "Rockchip PX30 EVB";

	aliases {
		serial2 = "/serial@ff160000";
		mmc0 = "/dwmmc@ff390000";
		mmc1 = "/dwmmc@ff370000";
	};

	syscon@ff010000 {
		compatible = "rockchip,px30-pmugrf\0syscon\0simple-mfd";
		reg = <0x00 0xff010000 0x00 0x1000>;
		#address-cells = <0x01>;
		#size-cells = <0x01>;
		u-boot,dm-pre-reloc;
		phandle = <0x57>;
	};

	serial@ff160000 {
		compatible = "rockchip,px30-uart\0snps,dw-apb-uart";
		reg = <0x00 0xff160000 0x00 0x100>;
		interrupts = <0x00 0x11 0x04>;
		clocks = <0x08 0x19 0x08 0x14a>;
		reg-shift = <0x02>;
		reg-io-width = <0x04>;
		dmas = <0x0a 0x04 0x0a 0x05>;
		#dma-cells = <0x02>;
		status = "okay";
		clock-frequency = <0x16e3600>;
		u-boot,dm-pre-reloc;
	};

	clock-controller@ff2b0000 {
		compatible = "rockchip,px30-cru";
		reg = <0x00 0xff2b0000 0x00 0x9000>;
		rockchip,grf = <0x34>;
		#clock-cells = <0x01>;
		#reset-cells = <0x01>;
		u-boot,dm-pre-reloc;
		phandle = <0x08>;
	};

	pmu-clock-controller@ff2bc000 {
		compatible = "rockchip,px30-pmucru";
		reg = <0x00 0xff2bc000 0x00 0x1000>;
		rockchip,grf = <0x34>;
		#clock-cells = <0x01>;
		#reset-cells = <0x01>;
		u-boot,dm-pre-reloc;
		phandle = <0x09>;
	};

	dwmmc@ff370000 {
		compatible = "rockchip,px30-dw-mshc\0rockchip,rk3288-dw-mshc";
		reg = <0x00 0xff370000 0x00 0x4000>;
		max-frequency = <0x8f0d180>;
		clocks = <0x08 0xf7 0x08 0x3b 0x08 0x43 0x08 0x44>;
		fifo-depth = <0x100>;
		interrupts = <0x00 0x36 0x04>;
		status = "okay";
		u-boot,dm-pre-reloc;
		bus-width = <0x04>;
		cap-mmc-highspeed;
		cap-sd-highspeed;
		supports-sd;
		card-detect-delay = <0x320>;
		ignore-pm-notify;
		sd-uhs-sdr12;
		sd-uhs-sdr25;
		sd-uhs-sdr50;
		sd-uhs-sdr104;
		vqmmc-supply = <0x42>;
		vmmc-supply = <0x43>;
	};

	dwmmc@ff390000 {
		compatible = "rockchip,px30-dw-mshc\0rockchip,rk3288-dw-mshc";
		reg = <0x00 0xff390000 0x00 0x4000>;
		max-frequency = <0x8f0d180>;
		clocks = <0x08 0x100 0x08 0x39 0x08 0x47 0x08 0x48>;
		fifo-depth = <0x100>;
		interrupts = <0x00 0x35 0x04>;
		status = "okay";
		u-boot,dm-pre-reloc;
		fifo-mode;
		bus-width = <0x08>;
		cap-mmc-highspeed;
		supports-emmc;
		disable-wp;
		non-removable;
		num-slots = <0x01>;
	};

	nandc@ff3b0000 {
		compatible = "rockchip,rk-nandc";
		reg = <0x00 0xff3b0000 0x00 0x4000>;
		interrupts = <0x00 0x39 0x04>;
		nandc_id = <0x00>;
		clocks = <0x08 0x37 0x08 0xfe>;
		status = "okay";
		u-boot,dm-pre-reloc;
	};

	pinctrl {

		gpio0@ff040000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x00 0xff040000 0x00 0x100>;
			interrupts = <0x00 0x03 0x04>;
			clocks = <0x08 0x14>;
			gpio-controller;
			#gpio-cells = <0x02>;
			interrupt-controller;
			#interrupt-cells = <0x02>;
			u-boot,dm-pre-reloc;
			status = "disabled";
			phandle = <0x1c>;
		};

		gpio1@ff250000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x00 0xff250000 0x00 0x100>;
			interrupts = <0x00 0x04 0x04>;
			clocks = <0x08 0x15c>;
			gpio-controller;
			#gpio-cells = <0x02>;
			interrupt-controller;
			#interrupt-cells = <0x02>;
			u-boot,dm-pre-reloc;
			status = "disabled";
		};

		gpio2@ff260000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x00 0xff260000 0x00 0x100>;
			interrupts = <0x00 0x05 0x04>;
			clocks = <0x08 0x15d>;
			gpio-controller;
			#gpio-cells = <0x02>;
			interrupt-controller;
			#interrupt-cells = <0x02>;
			u-boot,dm-pre-reloc;
			status = "disabled";
		};

		gpio3@ff270000 {
			compatible = "rockchip,gpio-bank";
			reg = <0x00 0xff270000 0x00 0x100>;
			interrupts = <0x00 0x06 0x04>;
			clocks = <0x08 0x15e>;
			gpio-controller;
			#gpio-cells = <0x02>;
			interrupt-controller;
			#interrupt-cells = <0x02>;
			u-boot,dm-pre-reloc;
			status = "disabled";
		};
	};

	chosen {
		stdout-path = "/serial@ff160000";
	};

	dmc@20004000 {
		u-boot,dm-pre-reloc;
		compatible = "rockchip,px30-dmc\0syscon";
		reg = <0x00 0xff2a0000 0x00 0x1000>;
	};
};

Перемещено leave из talks



Последнее исправление: bo4ok (всего исправлений: 2)
Ответ на: комментарий от t184256

У меня 2k20, не всё ещё потеряно.

И я купил сабж довольно-таки только что. Это не дженерик-планшет для кидания птиц в свиней, девайс просто с андроидом и плоский, поэтому с точки зрения рядового лоровца должен быть эквивалентен планшету.

bo4ok
() автор топика
Ответ на: комментарий от Puzan

Это точно?

В общем, у меня когда-то был Nexus 5X, который славился отвалами проца (у меня это происходило дважды). В общем, умелые китайцы наладили на этом бизнес: высылаешь им телефончик, а они тебе его реболлят, но некоторые пошли ещё дальше и делали доп услугу - замену оперативки с 2Гб до 4х Гб. У людей все работало без танцев

admucher ★★
()
Ответ на: комментарий от bo4ok

Хм... А я даже когда-то думал зачем-то заслать свой аппарат китайцам на апгрейд, в случае неуспеха с возвратом в магазин, а ведь в то время было тяжко без рута. Благо, магазин признал заводской брак и я вернул его спустя 2 года пользования и купил себе нормальный телефон

admucher ★★
()
Ответ на: комментарий от bo4ok

Объём памяти, как и тайминги - вполне могут определяться динамически, и тогда можно тупо менять без каких-либо изменений с программной стороны. Если объём памяти определяется фиксированно, то после апгрейда на бОльший объём памяти - у тебя просто будет не вся память доступна, но девайс при этом должен работать и можно копаться в программной части. Если частоты/тайминги определяются фиксированно - главное чтобы та память, которую ты ставишь на замену, была не медленнее чем та память которая стоит сейчас, тогда девайс должен работать - пусть и не факт что с максимально возможной скоростью памяти. Кроме того, нужно чтобы распиновка чипа памяти под замену совпадала со старым чипом. Конечно, для подстраховки можно пытаться апгрейднуться на более объёмные чипы той же линейки от того же производителя что стояли раньше...

SakuraKun ★★★★★
()