forked from mirrors/linux
		
	 f090e1bd7b
			
		
	
	
		f090e1bd7b
		
	
	
	
	
		
			
			Compiling the bcm283x DTS with W=1 leads to the following warning: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name Fix this by adding the unit address. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Tested-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
		
			
				
	
	
		
			175 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| /dts-v1/;
 | |
| #include "bcm2837.dtsi"
 | |
| #include "bcm2836-rpi.dtsi"
 | |
| #include "bcm283x-rpi-usb-host.dtsi"
 | |
| 
 | |
| / {
 | |
| 	compatible = "raspberrypi,3-model-a-plus", "brcm,bcm2837";
 | |
| 	model = "Raspberry Pi 3 Model A+";
 | |
| 
 | |
| 	chosen {
 | |
| 		/* 8250 auxiliary UART instead of pl011 */
 | |
| 		stdout-path = "serial1:115200n8";
 | |
| 	};
 | |
| 
 | |
| 	memory@0 {
 | |
| 		reg = <0 0x20000000>;
 | |
| 	};
 | |
| 
 | |
| 	leds {
 | |
| 		act {
 | |
| 			gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
 | |
| 		};
 | |
| 
 | |
| 		pwr {
 | |
| 			label = "PWR";
 | |
| 			gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &firmware {
 | |
| 	expgpio: gpio {
 | |
| 		compatible = "raspberrypi,firmware-gpio";
 | |
| 		gpio-controller;
 | |
| 		#gpio-cells = <2>;
 | |
| 		gpio-line-names = "",
 | |
| 				  "BT_WL_ON",
 | |
| 				  "STATUS_LED_R",
 | |
| 				  "",
 | |
| 				  "",
 | |
| 				  "CAM_GPIO0",
 | |
| 				  "CAM_GPIO1",
 | |
| 				  "";
 | |
| 		status = "okay";
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &gpio {
 | |
| 	/*
 | |
| 	 * This is mostly based on the official GPU firmware DT blob.
 | |
| 	 *
 | |
| 	 * Legend:
 | |
| 	 * "NC" = not connected (no rail from the SoC)
 | |
| 	 * "FOO" = GPIO line named "FOO" on the schematic
 | |
| 	 * "FOO_N" = GPIO line named "FOO" on schematic, active low
 | |
| 	 */
 | |
| 	gpio-line-names = "ID_SDA",
 | |
| 			  "ID_SCL",
 | |
| 			  "SDA1",
 | |
| 			  "SCL1",
 | |
| 			  "GPIO_GCLK",
 | |
| 			  "GPIO5",
 | |
| 			  "GPIO6",
 | |
| 			  "SPI_CE1_N",
 | |
| 			  "SPI_CE0_N",
 | |
| 			  "SPI_MISO",
 | |
| 			  "SPI_MOSI",
 | |
| 			  "SPI_SCLK",
 | |
| 			  "GPIO12",
 | |
| 			  "GPIO13",
 | |
| 			  /* Serial port */
 | |
| 			  "TXD1",
 | |
| 			  "RXD1",
 | |
| 			  "GPIO16",
 | |
| 			  "GPIO17",
 | |
| 			  "GPIO18",
 | |
| 			  "GPIO19",
 | |
| 			  "GPIO20",
 | |
| 			  "GPIO21",
 | |
| 			  "GPIO22",
 | |
| 			  "GPIO23",
 | |
| 			  "GPIO24",
 | |
| 			  "GPIO25",
 | |
| 			  "GPIO26",
 | |
| 			  "GPIO27",
 | |
| 			  "HDMI_HPD_N",
 | |
| 			  "STATUS_LED_G",
 | |
| 			  /* Used by BT module */
 | |
| 			  "CTS0",
 | |
| 			  "RTS0",
 | |
| 			  "TXD0",
 | |
| 			  "RXD0",
 | |
| 			  /* Used by Wifi */
 | |
| 			  "SD1_CLK",
 | |
| 			  "SD1_CMD",
 | |
| 			  "SD1_DATA0",
 | |
| 			  "SD1_DATA1",
 | |
| 			  "SD1_DATA2",
 | |
| 			  "SD1_DATA3",
 | |
| 			  "PWM0_OUT",
 | |
| 			  "PWM1_OUT",
 | |
| 			  "", /* GPIO42 */
 | |
| 			  "WIFI_CLK",
 | |
| 			  "SDA0",
 | |
| 			  "SCL0",
 | |
| 			  "SMPS_SCL",
 | |
| 			  "SMPS_SDA",
 | |
| 			  /* Used by SD Card */
 | |
| 			  "SD_CLK_R",
 | |
| 			  "SD_CMD_R",
 | |
| 			  "SD_DATA0_R",
 | |
| 			  "SD_DATA1_R",
 | |
| 			  "SD_DATA2_R",
 | |
| 			  "SD_DATA3_R";
 | |
| };
 | |
| 
 | |
| &hdmi {
 | |
| 	hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
 | |
| };
 | |
| 
 | |
| &pwm {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| /*
 | |
|  * SDHCI is used to control the SDIO for wireless
 | |
|  *
 | |
|  * WL_REG_ON and BT_REG_ON of the CYW43455 Wifi/BT module are driven
 | |
|  * by a single GPIO. We can't give GPIO control to one of the drivers,
 | |
|  * otherwise the other part would get unexpectedly disturbed.
 | |
|  */
 | |
| &sdhci {
 | |
| 	#address-cells = <1>;
 | |
| 	#size-cells = <0>;
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&emmc_gpio34>;
 | |
| 	status = "okay";
 | |
| 	bus-width = <4>;
 | |
| 	non-removable;
 | |
| 
 | |
| 	brcmf: wifi@1 {
 | |
| 		reg = <1>;
 | |
| 		compatible = "brcm,bcm4329-fmac";
 | |
| 	};
 | |
| };
 | |
| 
 | |
| /* SDHOST is used to drive the SD card */
 | |
| &sdhost {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&sdhost_gpio48>;
 | |
| 	status = "okay";
 | |
| 	bus-width = <4>;
 | |
| };
 | |
| 
 | |
| /* uart0 communicates with the BT module */
 | |
| &uart0 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>;
 | |
| 	status = "okay";
 | |
| 
 | |
| 	bluetooth {
 | |
| 		compatible = "brcm,bcm43438-bt";
 | |
| 		max-speed = <2000000>;
 | |
| 	};
 | |
| };
 | |
| 
 | |
| /* uart1 is mapped to the pin header */
 | |
| &uart1 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&uart1_gpio14>;
 | |
| 	status = "okay";
 | |
| };
 |