mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-07 03:18:31 +00:00
ARM: u8540: Add Pinctrl Device Tree settings for uart0, uart2
This patch adds pinctrl device tree settings for uart0 and uart2 for ccu8540 board. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
49c129519a
commit
3d0899e8da
4 changed files with 223 additions and 0 deletions
81
arch/arm/boot/dts/ccu8540-pinctrl.dtsi
Normal file
81
arch/arm/boot/dts/ccu8540-pinctrl.dtsi
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2012 ST-Ericsson
|
||||||
|
*
|
||||||
|
* The code contained herein is licensed under the GNU General Public
|
||||||
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
* Version 2 or later at the following locations:
|
||||||
|
*
|
||||||
|
* http://www.opensource.org/licenses/gpl-license.html
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
#include "ste-nomadik-pinctrl.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
soc {
|
||||||
|
pinctrl {
|
||||||
|
uart0 {
|
||||||
|
uart0_default_mux: uart0_mux {
|
||||||
|
default_mux {
|
||||||
|
ste,function = "u0";
|
||||||
|
ste,pins = "u0_a_1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
uart0_default_mode: uart0_default {
|
||||||
|
default_cfg1 {
|
||||||
|
ste,pins = "GPIO0", "GPIO2";
|
||||||
|
ste,config = <&in_pu>;
|
||||||
|
};
|
||||||
|
|
||||||
|
default_cfg2 {
|
||||||
|
ste,pins = "GPIO1", "GPIO3";
|
||||||
|
ste,config = <&out_hi>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
uart0_sleep_mode: uart0_sleep {
|
||||||
|
sleep_cfg1 {
|
||||||
|
ste,pins = "GPIO0", "GPIO2";
|
||||||
|
ste,config = <&slpm_in_pu>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sleep_cfg2 {
|
||||||
|
ste,pins = "GPIO1", "GPIO3";
|
||||||
|
ste,config = <&slpm_out_hi>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
uart2 {
|
||||||
|
uart2_default_mode: uart2_default {
|
||||||
|
default_mux {
|
||||||
|
ste,function = "u2";
|
||||||
|
ste,pins = "u2txrx_a_1";
|
||||||
|
};
|
||||||
|
|
||||||
|
default_cfg1 {
|
||||||
|
ste,pins = "GPIO120";
|
||||||
|
ste,config = <&in_pu>;
|
||||||
|
};
|
||||||
|
|
||||||
|
default_cfg2 {
|
||||||
|
ste,pins = "GPIO121";
|
||||||
|
ste,config = <&out_hi>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
uart2_sleep_mode: uart2_sleep {
|
||||||
|
sleep_cfg1 {
|
||||||
|
ste,pins = "GPIO120";
|
||||||
|
ste,config = <&slpm_in_pu>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sleep_cfg2 {
|
||||||
|
ste,pins = "GPIO121";
|
||||||
|
ste,config = <&slpm_out_hi>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
#include "dbx5x0.dtsi"
|
#include "dbx5x0.dtsi"
|
||||||
|
#include "ccu8540-pinctrl.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "ST-Ericsson U8540 platform with Device Tree";
|
model = "ST-Ericsson U8540 platform with Device Tree";
|
||||||
|
@ -21,12 +22,19 @@ memory@0 {
|
||||||
};
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
|
pinctrl {
|
||||||
|
compatible = "stericsson,db8540-pinctrl";
|
||||||
|
};
|
||||||
|
|
||||||
prcmu@80157000 {
|
prcmu@80157000 {
|
||||||
reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x3000>;
|
reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x3000>;
|
||||||
reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
|
reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
|
||||||
};
|
};
|
||||||
|
|
||||||
uart@80120000 {
|
uart@80120000 {
|
||||||
|
pinctrl-names = "default", "sleep";
|
||||||
|
pinctrl-0 = <&uart0_default_mux>, <&uart0_default_mode>;
|
||||||
|
pinctrl-1 = <&uart0_sleep_mode>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -35,6 +43,9 @@ uart@80121000 {
|
||||||
};
|
};
|
||||||
|
|
||||||
uart@80007000 {
|
uart@80007000 {
|
||||||
|
pinctrl-names = "default", "sleep";
|
||||||
|
pinctrl-0 = <&uart2_default_mode>;
|
||||||
|
pinctrl-1 = <&uart2_sleep_mode>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
95
arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi
Normal file
95
arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2012 ST-Ericsson
|
||||||
|
*
|
||||||
|
* The code contained herein is licensed under the GNU General Public
|
||||||
|
* License. You may obtain a copy of the GNU General Public License
|
||||||
|
* Version 2 or later at the following locations:
|
||||||
|
*
|
||||||
|
* http://www.opensource.org/licenses/gpl-license.html
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
#include <dt-bindings/pinctrl/nomadik.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
in_nopull: in_nopull {
|
||||||
|
ste,input = <INPUT_NOPULL>;
|
||||||
|
};
|
||||||
|
|
||||||
|
in_pu: input_pull_up {
|
||||||
|
ste,input = <INPUT_PULLUP>;
|
||||||
|
};
|
||||||
|
|
||||||
|
in_pd: input_pull_down {
|
||||||
|
ste,input = <INPUT_PULLDOWN>;
|
||||||
|
};
|
||||||
|
|
||||||
|
out_hi: output_high {
|
||||||
|
ste,output = <OUTPUT_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
out_lo: output_low {
|
||||||
|
ste,output = <OUTPUT_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio_out_lo: gpio_output_low {
|
||||||
|
ste,gpio = <GPIOMODE_ENABLED>;
|
||||||
|
ste,output = <OUTPUT_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
slpm_in_pu: slpm_in_pu {
|
||||||
|
ste,sleep = <SLPM_ENABLED>;
|
||||||
|
ste,sleep-input = <SLPM_INPUT_PULLUP>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
slpm_in_wkup_pdis: slpm_in_wkup_pdis {
|
||||||
|
ste,sleep = <SLPM_ENABLED>;
|
||||||
|
ste,sleep-input = <SLPM_DIR_INPUT>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
|
||||||
|
};
|
||||||
|
|
||||||
|
slpm_out_lo: slpm_out_lo {
|
||||||
|
ste,sleep = <SLPM_ENABLED>;
|
||||||
|
ste,sleep-output = <SLPM_OUTPUT_LOW>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
slpm_out_hi: slpm_out_hi {
|
||||||
|
ste,sleep = <SLPM_ENABLED>;
|
||||||
|
ste,sleep-output = <SLPM_OUTPUT_HIGH>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
};
|
||||||
|
|
||||||
|
slpm_out_hi_wkup_pdis: slpm_out_hi_wkup_pdis {
|
||||||
|
ste,sleep = <SLPM_ENABLED>;
|
||||||
|
ste,sleep-output = <SLPM_OUTPUT_HIGH>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
|
||||||
|
};
|
||||||
|
|
||||||
|
slpm_out_wkup_pdis: slpm_out_wkup_pdis {
|
||||||
|
ste,sleep = <SLPM_ENABLED>;
|
||||||
|
ste,sleep-output = <SLPM_DIR_OUTPUT>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
|
||||||
|
};
|
||||||
|
|
||||||
|
in_wkup_pdis: in_wkup_pdis {
|
||||||
|
ste,sleep-input = <SLPM_DIR_INPUT>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
|
||||||
|
};
|
||||||
|
|
||||||
|
out_hi_wkup_pdis: out_hi_wkup_pdis {
|
||||||
|
ste,sleep-output = <SLPM_OUTPUT_HIGH>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
|
||||||
|
};
|
||||||
|
|
||||||
|
out_wkup_pdis: out_wkup_pdis {
|
||||||
|
ste,sleep-output = <SLPM_DIR_OUTPUT>;
|
||||||
|
ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
|
||||||
|
ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
|
||||||
|
};
|
||||||
|
};
|
36
include/dt-bindings/pinctrl/nomadik.h
Normal file
36
include/dt-bindings/pinctrl/nomadik.h
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* nomadik.h
|
||||||
|
*
|
||||||
|
* Copyright (C) ST-Ericsson SA 2013
|
||||||
|
* Author: Gabriel Fernandez <gabriel.fernandez@st.com> for ST-Ericsson.
|
||||||
|
* License terms: GNU General Public License (GPL), version 2
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define INPUT_NOPULL 0
|
||||||
|
#define INPUT_PULLUP 1
|
||||||
|
#define INPUT_PULLDOWN 2
|
||||||
|
|
||||||
|
#define OUTPUT_LOW 0
|
||||||
|
#define OUTPUT_HIGH 1
|
||||||
|
#define DIR_OUTPUT 2
|
||||||
|
|
||||||
|
#define SLPM_DISABLED 0
|
||||||
|
#define SLPM_ENABLED 1
|
||||||
|
|
||||||
|
#define SLPM_INPUT_NOPULL 0
|
||||||
|
#define SLPM_INPUT_PULLUP 1
|
||||||
|
#define SLPM_INPUT_PULLDOWN 2
|
||||||
|
#define SLPM_DIR_INPUT 3
|
||||||
|
|
||||||
|
#define SLPM_OUTPUT_LOW 0
|
||||||
|
#define SLPM_OUTPUT_HIGH 1
|
||||||
|
#define SLPM_DIR_OUTPUT 2
|
||||||
|
|
||||||
|
#define SLPM_WAKEUP_DISABLE 0
|
||||||
|
#define SLPM_WAKEUP_ENABLE 1
|
||||||
|
|
||||||
|
#define GPIOMODE_DISABLED 0
|
||||||
|
#define GPIOMODE_ENABLED 1
|
||||||
|
|
||||||
|
#define SLPM_PDIS_DISABLED 0
|
||||||
|
#define SLPM_PDIS_ENABLED 1
|
Loading…
Reference in a new issue