Skip to content

Commit 5669aab

Browse files
committed
Merge tag 'at91-dt2' of git://github.com/at91linux/linux-at91 into next/dt
Merge "at91: DT for 3.16 #2" from Nicolas Ferre: 3.16: second DT series: - at91sam9rl and at91sam9261 fixes about PLL ranges - at91sam9261 more comprehensive support for SSC - sama5d3 Xplained: addition of pull-ups, PWM and PMIC (regulator) * tag 'at91-dt2' of git://github.com/at91linux/linux-at91: ARM: at91/dt: at91-sama5d3_xplained: add the regulator device node ARM: at91: add 2 PWM outputs to SAMA5D3 Xplained ARM: at91: add PWM pinctrl to SAMA5D3 ARM: at91: add pull-up to i2c[02] on SAMA5D3 Xplained ARM: at91/dt: sam9rl: Fix PLL output range and mck divisors ARM: at91/dt: sam9261: Add ssc2, SSC clocks and pcks ARM: at91/dt: sam9261: Fix PLL output ranges and other clocks divisors Signed-off-by: Olof Johansson <olof@lixom.net>
2 parents 4831ddf + a93f9c8 commit 5669aab

File tree

4 files changed

+253
-8
lines changed

4 files changed

+253
-8
lines changed

arch/arm/boot/dts/at91-sama5d3_xplained.dts

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,67 @@
4343
};
4444

4545
i2c0: i2c@f0014000 {
46+
pinctrl-0 = <&pinctrl_i2c0_pu>;
4647
status = "okay";
4748
};
4849

4950
i2c1: i2c@f0018000 {
5051
status = "okay";
52+
53+
pmic: act8865@5b {
54+
compatible = "active-semi,act8865";
55+
reg = <0x5b>;
56+
status = "okay";
57+
58+
regulators {
59+
vcc_1v8_reg: DCDC_REG1 {
60+
regulator-name = "VCC_1V8";
61+
regulator-min-microvolt = <1800000>;
62+
regulator-max-microvolt = <1800000>;
63+
regulator-always-on;
64+
};
65+
66+
vcc_1v2_reg: DCDC_REG2 {
67+
regulator-name = "VCC_1V2";
68+
regulator-min-microvolt = <1200000>;
69+
regulator-max-microvolt = <1200000>;
70+
regulator-always-on;
71+
};
72+
73+
vcc_3v3_reg: DCDC_REG3 {
74+
regulator-name = "VCC_3V3";
75+
regulator-min-microvolt = <3300000>;
76+
regulator-max-microvolt = <3300000>;
77+
regulator-always-on;
78+
};
79+
80+
vddfuse_reg: LDO_REG1 {
81+
regulator-name = "FUSE_2V5";
82+
regulator-min-microvolt = <2500000>;
83+
regulator-max-microvolt = <2500000>;
84+
};
85+
86+
vddana_reg: LDO_REG2 {
87+
regulator-name = "VDDANA";
88+
regulator-min-microvolt = <3300000>;
89+
regulator-max-microvolt = <3300000>;
90+
regulator-always-on;
91+
};
92+
};
93+
};
5194
};
5295

5396
macb0: ethernet@f0028000 {
5497
phy-mode = "rgmii";
5598
status = "okay";
5699
};
57100

101+
pwm0: pwm@f002c000 {
102+
pinctrl-names = "default";
103+
pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
104+
status = "okay";
105+
};
106+
58107
usart0: serial@f001c000 {
59108
status = "okay";
60109
};
@@ -102,6 +151,7 @@
102151

103152
i2c2: i2c@f801c000 {
104153
dmas = <0>, <0>; /* Do not use DMA for i2c2 */
154+
pinctrl-0 = <&pinctrl_i2c2_pu>;
105155
status = "okay";
106156
};
107157

@@ -116,6 +166,18 @@
116166

117167
pinctrl@fffff200 {
118168
board {
169+
pinctrl_i2c0_pu: i2c0_pu {
170+
atmel,pins =
171+
<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
172+
<AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
173+
};
174+
175+
pinctrl_i2c2_pu: i2c2_pu {
176+
atmel,pins =
177+
<AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
178+
<AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
179+
};
180+
119181
pinctrl_mmc0_cd: mmc0_cd {
120182
atmel,pins =
121183
<AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;

arch/arm/boot/dts/at91sam9261.dtsi

Lines changed: 109 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
i2c0 = &i2c0;
3030
ssc0 = &ssc0;
3131
ssc1 = &ssc1;
32+
ssc2 = &ssc2;
3233
};
3334

3435
cpus {
@@ -182,6 +183,8 @@
182183
interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
183184
pinctrl-names = "default";
184185
pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
186+
clocks = <&ssc0_clk>;
187+
clock-names = "pclk";
185188
status = "disabled";
186189
};
187190

@@ -191,6 +194,19 @@
191194
interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
192195
pinctrl-names = "default";
193196
pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
197+
clocks = <&ssc1_clk>;
198+
clock-names = "pclk";
199+
status = "disabled";
200+
};
201+
202+
ssc2: ssc@fffc4000 {
203+
compatible = "atmel,at91rm9200-ssc";
204+
reg = <0xfffc4000 0x4000>;
205+
interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
206+
pinctrl-names = "default";
207+
pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>;
208+
clocks = <&ssc2_clk>;
209+
clock-names = "pclk";
194210
status = "disabled";
195211
};
196212

@@ -385,6 +401,22 @@
385401
};
386402
};
387403

404+
ssc2 {
405+
pinctrl_ssc2_tx: ssc2_tx-0 {
406+
atmel,pins =
407+
<AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>,
408+
<AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE>,
409+
<AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>;
410+
};
411+
412+
pinctrl_ssc2_rx: ssc2_rx-0 {
413+
atmel,pins =
414+
<AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE>,
415+
<AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE>,
416+
<AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE>;
417+
};
418+
};
419+
388420
spi0 {
389421
pinctrl_spi0: spi0-0 {
390422
atmel,pins =
@@ -545,7 +577,8 @@
545577
reg = <0>;
546578
atmel,clk-input-range = <1000000 32000000>;
547579
#atmel,pll-clk-output-range-cells = <4>;
548-
atmel,pll-clk-output-ranges = <80000000 200000000 190000000 240000000>;
580+
atmel,pll-clk-output-ranges = <80000000 200000000 0 1>,
581+
<190000000 240000000 2 1>;
549582
};
550583

551584
pllb: pllbck {
@@ -554,9 +587,9 @@
554587
interrupts-extended = <&pmc AT91_PMC_LOCKB>;
555588
clocks = <&main>;
556589
reg = <1>;
557-
atmel,clk-input-range = <1000000 32000000>;
590+
atmel,clk-input-range = <1000000 5000000>;
558591
#atmel,pll-clk-output-range-cells = <4>;
559-
atmel,pll-clk-output-ranges = <80000000 200000000 190000000 240000000>;
592+
atmel,pll-clk-output-ranges = <70000000 130000000 1 1>;
560593
};
561594

562595
mck: masterck {
@@ -565,16 +598,48 @@
565598
interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
566599
clocks = <&clk32k>, <&main>, <&plla>, <&pllb>;
567600
atmel,clk-output-range = <0 94000000>;
568-
atmel,clk-divisors = <1 2 4 3>;
601+
atmel,clk-divisors = <1 2 4 0>;
569602
};
570603

571604
usb: usbck {
572605
compatible = "atmel,at91rm9200-clk-usb";
573606
#clock-cells = <0>;
574-
atmel,clk-divisors = <1 2 4 3>;
607+
atmel,clk-divisors = <1 2 4 0>;
575608
clocks = <&pllb>;
576609
};
577610

611+
prog: progck {
612+
compatible = "atmel,at91rm9200-clk-programmable";
613+
#address-cells = <1>;
614+
#size-cells = <0>;
615+
interrupt-parent = <&pmc>;
616+
clocks = <&clk32k>, <&main>, <&plla>, <&pllb>;
617+
618+
prog0: prog0 {
619+
#clock-cells = <0>;
620+
reg = <0>;
621+
interrupts = <AT91_PMC_PCKRDY(0)>;
622+
};
623+
624+
prog1: prog1 {
625+
#clock-cells = <0>;
626+
reg = <1>;
627+
interrupts = <AT91_PMC_PCKRDY(1)>;
628+
};
629+
630+
prog2: prog2 {
631+
#clock-cells = <0>;
632+
reg = <2>;
633+
interrupts = <AT91_PMC_PCKRDY(2)>;
634+
};
635+
636+
prog3: prog3 {
637+
#clock-cells = <0>;
638+
reg = <3>;
639+
interrupts = <AT91_PMC_PCKRDY(3)>;
640+
};
641+
};
642+
578643
systemck {
579644
compatible = "atmel,at91rm9200-clk-system";
580645
#address-cells = <1>;
@@ -592,6 +657,30 @@
592657
clocks = <&usb>;
593658
};
594659

660+
pck0: pck0 {
661+
#clock-cells = <0>;
662+
reg = <8>;
663+
clocks = <&prog0>;
664+
};
665+
666+
pck1: pck1 {
667+
#clock-cells = <0>;
668+
reg = <9>;
669+
clocks = <&prog1>;
670+
};
671+
672+
pck2: pck2 {
673+
#clock-cells = <0>;
674+
reg = <10>;
675+
clocks = <&prog2>;
676+
};
677+
678+
pck3: pck3 {
679+
#clock-cells = <0>;
680+
reg = <11>;
681+
clocks = <&prog3>;
682+
};
683+
595684
hclk0: hclk0 {
596685
#clock-cells = <0>;
597686
reg = <16>;
@@ -666,6 +755,21 @@
666755
reg = <13>;
667756
};
668757

758+
ssc0_clk: ssc0_clk {
759+
#clock-cells = <0>;
760+
reg = <14>;
761+
};
762+
763+
ssc1_clk: ssc1_clk {
764+
#clock-cells = <0>;
765+
reg = <15>;
766+
};
767+
768+
ssc2_clk: ssc2_clk {
769+
#clock-cells = <0>;
770+
reg = <16>;
771+
};
772+
669773
tc0_clk: tc0_clk {
670774
#clock-cells = <0>;
671775
reg = <17>;

arch/arm/boot/dts/at91sam9rl.dtsi

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -815,8 +815,9 @@
815815
clocks = <&main>;
816816
reg = <0>;
817817
atmel,clk-input-range = <1000000 32000000>;
818-
#atmel,pll-clk-output-range-cells = <4>;
819-
atmel,pll-clk-output-ranges = <80000000 200000000 190000000 240000000>;
818+
#atmel,pll-clk-output-range-cells = <3>;
819+
atmel,pll-clk-output-ranges = <80000000 200000000 0>,
820+
<190000000 240000000 2>;
820821
};
821822

822823
utmi: utmick {
@@ -833,7 +834,7 @@
833834
interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
834835
clocks = <&clk32k>, <&main>, <&plla>, <&utmi>;
835836
atmel,clk-output-range = <0 94000000>;
836-
atmel,clk-divisors = <1 2 4 3>;
837+
atmel,clk-divisors = <1 2 4 0>;
837838
};
838839

839840
prog: progck {

arch/arm/boot/dts/sama5d3.dtsi

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,84 @@
583583
};
584584
};
585585

586+
pwm0 {
587+
pinctrl_pwm0_pwmh0_0: pwm0_pwmh0-0 {
588+
atmel,pins =
589+
<AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D4 and LCDDAT20 */
590+
};
591+
pinctrl_pwm0_pwmh0_1: pwm0_pwmh0-1 {
592+
atmel,pins =
593+
<AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTX0 */
594+
};
595+
pinctrl_pwm0_pwml0_0: pwm0_pwml0-0 {
596+
atmel,pins =
597+
<AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D5 and LCDDAT21 */
598+
};
599+
pinctrl_pwm0_pwml0_1: pwm0_pwml0-1 {
600+
atmel,pins =
601+
<AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTX1 */
602+
};
603+
604+
pinctrl_pwm0_pwmh1_0: pwm0_pwmh1-0 {
605+
atmel,pins =
606+
<AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D6 and LCDDAT22 */
607+
};
608+
pinctrl_pwm0_pwmh1_1: pwm0_pwmh1-1 {
609+
atmel,pins =
610+
<AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRX0 */
611+
};
612+
pinctrl_pwm0_pwmh1_2: pwm0_pwmh1-2 {
613+
atmel,pins =
614+
<AT91_PIOB 27 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with G125CKO and RTS1 */
615+
};
616+
pinctrl_pwm0_pwml1_0: pwm0_pwml1-0 {
617+
atmel,pins =
618+
<AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D7 and LCDDAT23 */
619+
};
620+
pinctrl_pwm0_pwml1_1: pwm0_pwml1-1 {
621+
atmel,pins =
622+
<AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRX1 */
623+
};
624+
pinctrl_pwm0_pwml1_2: pwm0_pwml1-2 {
625+
atmel,pins =
626+
<AT91_PIOE 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with IRQ */
627+
};
628+
629+
pinctrl_pwm0_pwmh2_0: pwm0_pwmh2-0 {
630+
atmel,pins =
631+
<AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTXCK */
632+
};
633+
pinctrl_pwm0_pwmh2_1: pwm0_pwmh2-1 {
634+
atmel,pins =
635+
<AT91_PIOD 5 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA4 and TIOA0 */
636+
};
637+
pinctrl_pwm0_pwml2_0: pwm0_pwml2-0 {
638+
atmel,pins =
639+
<AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GTXEN */
640+
};
641+
pinctrl_pwm0_pwml2_1: pwm0_pwml2-1 {
642+
atmel,pins =
643+
<AT91_PIOD 6 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA5 and TIOB0 */
644+
};
645+
646+
pinctrl_pwm0_pwmh3_0: pwm0_pwmh3-0 {
647+
atmel,pins =
648+
<AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRXDV */
649+
};
650+
pinctrl_pwm0_pwmh3_1: pwm0_pwmh3-1 {
651+
atmel,pins =
652+
<AT91_PIOD 7 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA6 and TCLK0 */
653+
};
654+
pinctrl_pwm0_pwml3_0: pwm0_pwml3-0 {
655+
atmel,pins =
656+
<AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRXER */
657+
};
658+
pinctrl_pwm0_pwml3_1: pwm0_pwml3-1 {
659+
atmel,pins =
660+
<AT91_PIOD 8 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with MCI0_DA7 */
661+
};
662+
};
663+
586664
spi0 {
587665
pinctrl_spi0: spi0-0 {
588666
atmel,pins =

0 commit comments

Comments
 (0)