mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 22:14:41 +08:00
c4bb978217
All RPi 1 and 2 boards used the PWM (audio out) on pin 40 and 45. So it was easy to define them in bcm2835-rpi.dtsi. Starting with RPi 3 this wont work anymore, because it uses pin 40 and 41. Furthermore the Zero variants doesn't have audio out. This patch fixes this pin conflict by moving the PWM node to the board-level. Change summary: RPi 3 B: PWM1 45 -> 41 Zero, Zero W: PWM disabled all other: no functional change Reported-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Eric Anholt <eric@anholt.net>
117 lines
2.2 KiB
Plaintext
117 lines
2.2 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
/dts-v1/;
|
|
#include "bcm2835.dtsi"
|
|
#include "bcm2835-rpi.dtsi"
|
|
#include "bcm283x-rpi-smsc9514.dtsi"
|
|
#include "bcm283x-rpi-usb-host.dtsi"
|
|
|
|
/ {
|
|
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
|
|
model = "Raspberry Pi Model B+";
|
|
|
|
leds {
|
|
act {
|
|
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
pwr {
|
|
label = "PWR";
|
|
gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
|
|
default-state = "keep";
|
|
linux,default-trigger = "default-on";
|
|
};
|
|
};
|
|
};
|
|
|
|
&gpio {
|
|
/*
|
|
* Taken from Raspberry-Pi-B-Plus-V1.2-Schematics.pdf
|
|
* RPI-BPLUS sheet 1
|
|
*
|
|
* 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 = "SDA0",
|
|
"SCL0",
|
|
"SDA1",
|
|
"SCL1",
|
|
"GPIO_GCLK",
|
|
"GPIO5",
|
|
"GPIO6",
|
|
"SPI_CE1_N",
|
|
"SPI_CE0_N",
|
|
"SPI_MISO",
|
|
"SPI_MOSI",
|
|
"SPI_SCLK",
|
|
"GPIO12",
|
|
"GPIO13",
|
|
/* Serial port */
|
|
"TXD0",
|
|
"RXD0",
|
|
"GPIO16",
|
|
"GPIO17",
|
|
"GPIO18",
|
|
"GPIO19",
|
|
"GPIO20",
|
|
"GPIO21",
|
|
"GPIO22",
|
|
"GPIO23",
|
|
"GPIO24",
|
|
"GPIO25",
|
|
"GPIO26",
|
|
"GPIO27",
|
|
"SDA0",
|
|
"SCL0",
|
|
"NC", /* GPIO30 */
|
|
"LAN_RUN", /* GPIO31 */
|
|
"CAM_GPIO1", /* GPIO32 */
|
|
"NC", /* GPIO33 */
|
|
"NC", /* GPIO34 */
|
|
"PWR_LOW_N", /* GPIO35 */
|
|
"NC", /* GPIO36 */
|
|
"NC", /* GPIO37 */
|
|
"USB_LIMIT", /* GPIO38 */
|
|
"NC", /* GPIO39 */
|
|
"PWM0_OUT", /* GPIO40 */
|
|
"CAM_GPIO0", /* GPIO41 */
|
|
"NC", /* GPIO42 */
|
|
"NC", /* GPIO43 */
|
|
"ETHCLK", /* GPIO44 */
|
|
"PWM1_OUT", /* GPIO45 */
|
|
"HDMI_HPD_N",
|
|
"STATUS_LED",
|
|
/* Used by SD Card */
|
|
"SD_CLK_R",
|
|
"SD_CMD_R",
|
|
"SD_DATA0_R",
|
|
"SD_DATA1_R",
|
|
"SD_DATA2_R",
|
|
"SD_DATA3_R";
|
|
|
|
pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
|
|
|
|
/* I2S interface */
|
|
i2s_alt0: i2s_alt0 {
|
|
brcm,pins = <18 19 20 21>;
|
|
brcm,function = <BCM2835_FSEL_ALT0>;
|
|
};
|
|
};
|
|
|
|
&hdmi {
|
|
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
&pwm {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_gpio14>;
|
|
status = "okay";
|
|
};
|