mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 18:54:09 +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>
115 lines
2.1 KiB
Plaintext
115 lines
2.1 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
/dts-v1/;
|
|
#include "bcm2835.dtsi"
|
|
#include "bcm2835-rpi.dtsi"
|
|
#include "bcm283x-rpi-usb-host.dtsi"
|
|
|
|
/ {
|
|
compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
|
|
model = "Raspberry Pi Model A+";
|
|
|
|
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 {
|
|
/*
|
|
* This is based on the unreleased schematic for the Model A+.
|
|
*
|
|
* 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 */
|
|
"NC", /* 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 */
|
|
"NC", /* 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";
|
|
};
|