mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-28 05:24:47 +08:00
7e84a8d13f
By assigning the pin hog to the pinctrl node, we correctly configure the MPPs. However, they are not available to userspace. Fix this by assigning the hogs to the gpio node. After this, the following works as expected: # echo 28 >/sys/class/gpio/export # echo low >/sys/class/gpio/gpio28/direction [gregory.clement@free-electrons.com: fix title] Signed-off-by: Jason Cooper <jason@lakedaemon.net> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
184 lines
3.0 KiB
Plaintext
184 lines
3.0 KiB
Plaintext
/dts-v1/;
|
|
|
|
#include "kirkwood.dtsi"
|
|
#include "kirkwood-6282.dtsi"
|
|
|
|
/ {
|
|
model = "Plat'Home OpenBlocksA6";
|
|
compatible = "plathome,openblocks-a6", "marvell,kirkwood-88f6283", "marvell,kirkwood";
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x00000000 0x20000000>;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "console=ttyS0,115200n8 earlyprintk";
|
|
stdout-path = &uart0;
|
|
};
|
|
|
|
ocp@f1000000 {
|
|
serial@12000 {
|
|
status = "okay";
|
|
};
|
|
|
|
serial@12100 {
|
|
status = "okay";
|
|
};
|
|
|
|
sata@80000 {
|
|
nr-ports = <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
i2c@11100 {
|
|
status = "okay";
|
|
|
|
s35390a: s35390a@30 {
|
|
compatible = "sii,s35390a";
|
|
reg = <0x30>;
|
|
};
|
|
};
|
|
|
|
pinctrl: pin-controller@10000 {
|
|
pinctrl-0 = <&pmx_dip_switches>;
|
|
pinctrl-names = "default";
|
|
|
|
pmx_uart0: pmx-uart0 {
|
|
marvell,pins = "mpp10", "mpp11", "mpp15",
|
|
"mpp16";
|
|
marvell,function = "uart0";
|
|
};
|
|
|
|
pmx_uart1: pmx-uart1 {
|
|
marvell,pins = "mpp13", "mpp14", "mpp8",
|
|
"mpp9";
|
|
marvell,function = "uart1";
|
|
};
|
|
|
|
pmx_sysrst: pmx-sysrst {
|
|
marvell,pins = "mpp6";
|
|
marvell,function = "sysrst";
|
|
};
|
|
|
|
pmx_dip_switches: pmx-dip-switches {
|
|
marvell,pins = "mpp20", "mpp21", "mpp22", "mpp23";
|
|
marvell,function = "gpio";
|
|
};
|
|
|
|
pmx_gpio_header: pmx-gpio-header {
|
|
marvell,pins = "mpp24", "mpp25", "mpp26", "mpp27",
|
|
"mpp28", "mpp29", "mpp30", "mpp31";
|
|
marvell,function = "gpio";
|
|
};
|
|
|
|
pmx_gpio_init: pmx-init {
|
|
marvell,pins = "mpp38";
|
|
marvell,function = "gpio";
|
|
};
|
|
|
|
pmx_usb_oc: pmx-usb-oc {
|
|
marvell,pins = "mpp39";
|
|
marvell,function = "gpio";
|
|
};
|
|
|
|
pmx_leds: pmx-leds {
|
|
marvell,pins = "mpp41", "mpp42", "mpp43";
|
|
marvell,function = "gpio";
|
|
};
|
|
};
|
|
};
|
|
|
|
gpio-leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-0 = <&pmx_leds>;
|
|
pinctrl-names = "default";
|
|
|
|
led-red {
|
|
label = "obsa6:red:stat";
|
|
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
led-green {
|
|
label = "obsa6:green:stat";
|
|
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
led-yellow {
|
|
label = "obsa6:yellow:stat";
|
|
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
pinctrl-0 = <&pmx_gpio_init>;
|
|
pinctrl-names = "default";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
power {
|
|
label = "Init Button";
|
|
linux,code = <KEY_POWER>;
|
|
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&nand {
|
|
chip-delay = <25>;
|
|
status = "okay";
|
|
|
|
partition@0 {
|
|
label = "uboot";
|
|
reg = <0x0 0x90000>;
|
|
};
|
|
|
|
partition@90000 {
|
|
label = "env";
|
|
reg = <0x90000 0x44000>;
|
|
};
|
|
|
|
partition@d4000 {
|
|
label = "test";
|
|
reg = <0xd4000 0x24000>;
|
|
};
|
|
|
|
partition@f4000 {
|
|
label = "conf";
|
|
reg = <0xf4000 0x400000>;
|
|
};
|
|
|
|
partition@4f4000 {
|
|
label = "linux";
|
|
reg = <0x4f4000 0x1d20000>;
|
|
};
|
|
|
|
partition@2214000 {
|
|
label = "user";
|
|
reg = <0x2214000 0x1dec000>;
|
|
};
|
|
};
|
|
|
|
&mdio {
|
|
status = "okay";
|
|
|
|
ethphy0: ethernet-phy@0 {
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
ð0 {
|
|
status = "okay";
|
|
ethernet0-port@0 {
|
|
phy-handle = <ðphy0>;
|
|
};
|
|
};
|
|
|
|
&gpio0 {
|
|
status = "okay";
|
|
|
|
pinctrl-0 = <&pmx_gpio_header>;
|
|
pinctrl-names = "default";
|
|
};
|