mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	Add the "u-boot,dm-pre-reloc" property to the "ti,tilcdc,panel" compatible node. In this way the video-uclass module can allocate the amount of memory needed to be assigned to the frame buffer. For boards that support Linux the property is added to the *-u-boot.dtsi file since it is a u-boot specific dt flag. Ran building tests with CONFIG_AM335X_LCD enabled and disabled for the following configurations: - brxre1_defconfig --> success - am335x_guardian_defconfig --> success - am335x_evm_defconfig --> success - da850evm_defconfig --> failure with CONFIG_AM335X_LCD enabled Enabling CONFIG_AM335X_LCD in da850evm_defconfig causes building errors even without applying the patch. The driver has never been enabled on the da850 and must be adapted for this platform. Signed-off-by: Dario Binacchi <dariobin@libero.it> Tested-by: Dario Binacchi <dariobin@libero.it> Reviewed-by: Felix Brack <fb@ltec.ch>
		
			
				
	
	
		
			428 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			428 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0+
 | |
| /*
 | |
|  * Copyright (C) 2017 B&R Industrial Automation GmbH
 | |
|  * http://www.br-automation.com
 | |
|  *
 | |
|  */
 | |
| /dts-v1/;
 | |
| 
 | |
| #include "am33xx.dtsi"
 | |
| #include "dt-bindings/thermal/thermal.h"
 | |
| 
 | |
| / {
 | |
| 	model = "BRSMARC1 SoM";
 | |
| 	compatible = "ti,am33xx";
 | |
| 
 | |
| 	fset: factory-settings {
 | |
| 		bl-version	= "                                ";
 | |
| 		order-no	= "                                ";
 | |
| 		cpu-order-no	= "                                ";
 | |
| 		hw-revision	= "                                ";
 | |
| 		serial-no	= <0>;
 | |
| 		device-id	= <0x0>;
 | |
| 		parent-id	= <0x0>;
 | |
| 		hw-variant	= <0x0>;
 | |
| 		hw-platform	= <0x7>;
 | |
| 		fram-offset	= <0x100>;
 | |
| 		fram-size	= <0x1F00>;
 | |
| 		cache-disable	= <0x0>;
 | |
| 		cpu-clock	= <0x0>;
 | |
| 	};
 | |
| 
 | |
| 	chosen {
 | |
| 		bootargs = "console=ttyO0,115200 earlyprintk";
 | |
| 		stdout-path = &uart0;
 | |
| 	};
 | |
| 
 | |
| 	aliases {
 | |
| 		fset = &fset;
 | |
| 		mmc = &mmc2;
 | |
| 		spi0 = &spi0;
 | |
| 		spi1 = &spi1;
 | |
| 		touch0 = &burtouch0;
 | |
| 		screen0 = &lcdscreen0;
 | |
| 	};
 | |
| 
 | |
| 	memory {
 | |
| 		device_type = "memory";
 | |
| 		reg = <0x80000000 0x10000000>; /* 256 MB */
 | |
| 	};
 | |
| 
 | |
| 	vmmcsd_fixed: fixedregulator@0 {
 | |
| 		compatible = "regulator-fixed";
 | |
| 		regulator-name = "vmmcsd_fixed";
 | |
| 		regulator-min-microvolt = <3300000>;
 | |
| 		regulator-max-microvolt = <3300000>;
 | |
| 	};
 | |
| 
 | |
| 	lcdscreen0: lcdscreen@0 {
 | |
| 		/*backlight = <&tps_bl>; */
 | |
| 		compatible = "ti,tilcdc,panel";
 | |
| 		status = "okay";
 | |
| 		u-boot,dm-pre-reloc;
 | |
| 
 | |
| 		panel-info {
 | |
| 			ac-bias		= <255>;
 | |
| 			ac-bias-intrpt	= <0>;
 | |
| 			dma-burst-sz	= <16>;
 | |
| 			bpp		= <32>;
 | |
| 			fdd		= <0x80>;
 | |
| 			sync-edge	= <0>;
 | |
| 			sync-ctrl	= <1>;
 | |
| 			raster-order	= <0>;
 | |
| 			fifo-th		= <0>;
 | |
| 			rotation	= <0>;
 | |
| 			pupdelay	= <0>;
 | |
| 			pondelay	= <0>;
 | |
| 			pwrpin		= <0x000000B1>;
 | |
| 			brightdrv	= <0>;
 | |
| 			brightfdim	= <100>;
 | |
| 			brightdef	= <50>;
 | |
| 		};
 | |
| 
 | |
| 		display-timings {
 | |
| 			default {
 | |
| 				clock-frequency	= <0>;
 | |
| 				hactive		= <0>;
 | |
| 				vactive		= <0>;
 | |
| 				hfront-porch	= <0>;
 | |
| 				hback-porch	= <0>;
 | |
| 				hsync-len	= <0>;
 | |
| 				vfront-porch	= <0>;
 | |
| 				vback-porch	= <0>;
 | |
| 				vsync-len	= <0>;
 | |
| 				hsync-active	= <0>;
 | |
| 				vsync-active	= <0>;
 | |
| 				pupdelay	= <10>;
 | |
| 				pondelay	= <10>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	board_thermal: board-thermal {
 | |
| 		polling-delay-passive = <1000>; /* milliseconds */
 | |
| 		polling-delay = <2500>; /* milliseconds */
 | |
| 
 | |
| 		thermal-sensors = <&cputemp>;
 | |
| 
 | |
| 		trips {
 | |
| 			crit_trip: crit-trip {
 | |
| 				temperature = <95000>; /* millicelsius */
 | |
| 				hysteresis = <5000>; /* millicelsius */
 | |
| 				type = "critical";
 | |
| 			};
 | |
| 		};
 | |
| 		cooling-maps {
 | |
| 			map0 {
 | |
| 				trip = <&crit_trip>;
 | |
| 				cooling-device =
 | |
| 				<&resetc THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &uart0 {		/* console uart */
 | |
| 	u-boot,dm-spl;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &uart2 {		/* X2X - P2P */
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &uart3 {		/* RS485 */
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &uart4 {		/* RS232 */
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &i2c0 {
 | |
| 	u-boot,dm-spl;
 | |
| 	status = "okay";
 | |
| 	clock-frequency = <100000>;
 | |
| 
 | |
| 	tps: tps@24 {		/* PMIC controller */
 | |
| 		u-boot,dm-spl;
 | |
| 		reg = <0x24>;
 | |
| 		compatible = "ti,tps65217";
 | |
| 	};
 | |
| 
 | |
| 	cputemp: temperature-sensor@48 {	/* cpu temperature */
 | |
| 		#thermal-sensor-cells = <0>;
 | |
| 		compatible = "nxp,pct2075";
 | |
| 		reg = <0x48>;
 | |
| 	};
 | |
| 
 | |
| 	basetemp: temperature-sensor@49 {	/* baseboard temperature */
 | |
| 		#thermal-sensor-cells = <0>;
 | |
| 		compatible = "nxp,pct2075";
 | |
| 		reg = <0x49>;
 | |
| 	};
 | |
| 	extrtc: rtc@51 {	/* realtime clock */
 | |
| 		compatible = "epson,rx8571";
 | |
| 		reg = <0x51>;
 | |
| 	};
 | |
| 
 | |
| 	resetc: reset-controller@60 {
 | |
| 		compatible = "bur,rststm";
 | |
| 		reg = <0x60>;
 | |
| 
 | |
| 		cooling-min-state = <0>;
 | |
| 		cooling-max-state = <1>;	/* reset gets fired */
 | |
| 		#cooling-cells = <2>;		/* min followed by max */
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &i2c1 {
 | |
| 	u-boot,dm-spl;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &spi0 {
 | |
| 	u-boot,dm-spl;
 | |
| 	status = "okay";
 | |
| 
 | |
| 	cs-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>,
 | |
| 		   <&gpio0 6 GPIO_ACTIVE_HIGH>,
 | |
| 		   <0>,
 | |
| 		   <0>;
 | |
| 
 | |
| 	spi-max-frequency = <24000000>;
 | |
| 
 | |
| 	spi_flash: spiflash@0 {
 | |
| 		u-boot,dm-spl;
 | |
| 		u-boot,dm-pre-reloc;
 | |
| 		compatible = "spidev", "spi-flash";
 | |
| 		spi-max-frequency = <24000000>;
 | |
| 		reg = <0>;
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &spi1 {
 | |
| 	u-boot,dm-spl;
 | |
| 	status = "okay";
 | |
| 	cs-gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>,
 | |
| 		   <&gpio0 19 GPIO_ACTIVE_HIGH>,
 | |
| 		   <0>,
 | |
| 		   <0>;
 | |
| 
 | |
| 	spi-max-frequency = <24000000>;
 | |
| };
 | |
| 
 | |
| &edma {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &cppi41dma  {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &usb {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &usb_ctrl_mod {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &usb0_phy {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &usb1_phy {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &usb0 {
 | |
| 	status = "okay";
 | |
| 	dr_mode = "host";
 | |
| };
 | |
| 
 | |
| &usb1 {
 | |
| 	status = "okay";
 | |
| 	dr_mode = "host";
 | |
| };
 | |
| 
 | |
| &davinci_mdio {
 | |
| 	status = "okay";
 | |
| 
 | |
| 	ethphy0: ethernet-phy@1 {
 | |
| 		reg = <1>;
 | |
| 	};
 | |
| 
 | |
| 	ethphy1: ethernet-phy@3 {
 | |
| 		reg = <3>;
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &mac {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &phy_sel {
 | |
| 	rmii-clock-ext;
 | |
| };
 | |
| 
 | |
| &cpsw_emac0 {
 | |
| 	phy_id = <&davinci_mdio>, <1>;
 | |
| 	phy-handle = <ðphy0>;
 | |
| 	phy-mode = "rmii";
 | |
| 	ti,ledcr = <0x0480>;
 | |
| };
 | |
| 
 | |
| &cpsw_emac1 {
 | |
| 	phy_id = <&davinci_mdio>, <3>;
 | |
| 	phy-handle = <ðphy1>;
 | |
| 	phy-mode = "rmii";
 | |
| 	ti,ledcr = <0x0480>;
 | |
| };
 | |
| 
 | |
| &mmc1 {
 | |
| 	vmmc-supply = <&vmmcsd_fixed>;
 | |
| 	bus-width = <0x4>;
 | |
| 	ti,non-removable;
 | |
| 	ti,needs-special-hs-handling;
 | |
| 	ti,vcc-aux-disable-is-sleep;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &mmc2 {
 | |
| 	vmmc-supply = <&vmmcsd_fixed>;
 | |
| 	bus-width = <0x8>;
 | |
| 	ti,non-removable;
 | |
| 	ti,needs-special-hs-handling;
 | |
| 	ti,vcc-aux-disable-is-sleep;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &lcdc {
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &elm {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &sham {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &aes {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gpio0 {
 | |
| 	u-boot,dm-spl;
 | |
| 	ti,no-reset-on-init;
 | |
| };
 | |
| 
 | |
| &gpio1 {
 | |
| 	u-boot,dm-spl;
 | |
| 	ti,no-reset-on-init;
 | |
| };
 | |
| 
 | |
| &gpio2 {
 | |
| 	u-boot,dm-spl;
 | |
| 	ti,no-reset-on-init;
 | |
| };
 | |
| 
 | |
| &gpio3 {
 | |
| 	u-boot,dm-spl;
 | |
| 	ti,no-reset-on-init;
 | |
| };
 | |
| 
 | |
| &timer1 {		/* today unused */
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &timer2 {		/* used for vxworks primary timer device */
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &timer3 {		/* used sysdelay and hal tsc counter*/
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &timer4 {		/* used for PWM beeper */
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &timer5 {		/* used for PWM backlight */
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &timer6 {		/* used for cpsw end device */
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &timer7 {		/* used for cpsw end device */
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &wdt2 {
 | |
| 	status = "okay";
 | |
| 	ti,no-reset-on-init;
 | |
| 	ti,no-idle-on-init;
 | |
| };
 | |
| 
 | |
| &epwmss0 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &tscadc {
 | |
| 	status = "okay";
 | |
| 
 | |
| 	tsc {
 | |
| 		burtouch0: burtouch@0 {
 | |
| 			status = "okay";
 | |
| 			compatible = "bur,DdVxSfTouchXXX";
 | |
| 			bur,hwtree = "IF7";
 | |
| 			bur,KX0 = <0x0>;
 | |
| 			bur,KX1 = <0x0>;
 | |
| 			bur,KX2 = <0x0>;
 | |
| 			bur,KY0 = <0x0>;
 | |
| 			bur,KY1 = <0x0>;
 | |
| 			bur,KY2 = <0x0>;
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &dcan0 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &dcan1 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &sham {
 | |
| 	status = "disabled";
 | |
| };
 | |
| 
 | |
| &aes {
 | |
| 	status = "disabled";
 | |
| };
 | |
| 
 | |
| &rng {
 | |
| 	status = "disabled";
 | |
| };
 |