Commit 8582df0f authored by Olof Johansson's avatar Olof Johansson

Merge tag 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixes

From Nicolas Ferre:
An important revert on at91rm9200 platform related
to timers that prevented the platform to boot properly.
Then one pinctrl adjustments for SPI CS and a couple of
trivial typos.

* tag 'at91-fixes' of git://github.com/at91linux/linux-at91:
  ARM: at91: rm9200 fix time support
  ARM: at91: dts: request only spi cs-gpios used on sama5d3x cpu module
  ARM: at91/trivial: typo in GEM compatible string
  ARM: at91/trivial: fix model name for SAM9X25-EK
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 4ae608e1 b7a8ca51
...@@ -4,7 +4,7 @@ Required properties: ...@@ -4,7 +4,7 @@ Required properties:
- compatible: Should be "cdns,[<chip>-]{macb|gem}" - compatible: Should be "cdns,[<chip>-]{macb|gem}"
Use "cdns,at91sam9260-macb" Atmel at91sam9260 and at91sam9263 SoCs. Use "cdns,at91sam9260-macb" Atmel at91sam9260 and at91sam9263 SoCs.
Use "cdns,at32ap7000-macb" for other 10/100 usage or use the generic form: "cdns,macb". Use "cdns,at32ap7000-macb" for other 10/100 usage or use the generic form: "cdns,macb".
Use "cnds,pc302-gem" for Picochip picoXcell pc302 and later devices based on Use "cdns,pc302-gem" for Picochip picoXcell pc302 and later devices based on
the Cadence GEM, or the generic form: "cdns,gem". the Cadence GEM, or the generic form: "cdns,gem".
- reg: Address and length of the register set for the device - reg: Address and length of the register set for the device
- interrupts: Should contain macb interrupt - interrupts: Should contain macb interrupt
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
/include/ "at91sam9x5ek.dtsi" /include/ "at91sam9x5ek.dtsi"
/ { / {
model = "Atmel AT91SAM9G25-EK"; model = "Atmel AT91SAM9X25-EK";
compatible = "atmel,at91sam9x25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; compatible = "atmel,at91sam9x25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
ahb { ahb {
......
...@@ -75,11 +75,6 @@ spi0: spi@f0004000 { ...@@ -75,11 +75,6 @@ spi0: spi@f0004000 {
compatible = "atmel,at91sam9x5-spi"; compatible = "atmel,at91sam9x5-spi";
reg = <0xf0004000 0x100>; reg = <0xf0004000 0x100>;
interrupts = <24 4 3>; interrupts = <24 4 3>;
cs-gpios = <&pioD 13 0
&pioD 14 0 /* conflicts with SCK0 and CANRX0 */
&pioD 15 0 /* conflicts with CTS0 and CANTX0 */
&pioD 16 0 /* conflicts with RTS0 and PWMFI3 */
>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi0>; pinctrl-0 = <&pinctrl_spi0>;
status = "disabled"; status = "disabled";
...@@ -156,7 +151,7 @@ usart1: serial@f0020000 { ...@@ -156,7 +151,7 @@ usart1: serial@f0020000 {
}; };
macb0: ethernet@f0028000 { macb0: ethernet@f0028000 {
compatible = "cnds,pc302-gem", "cdns,gem"; compatible = "cdns,pc302-gem", "cdns,gem";
reg = <0xf0028000 0x100>; reg = <0xf0028000 0x100>;
interrupts = <34 4 3>; interrupts = <34 4 3>;
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -203,11 +198,6 @@ spi1: spi@f8008000 { ...@@ -203,11 +198,6 @@ spi1: spi@f8008000 {
compatible = "atmel,at91sam9x5-spi"; compatible = "atmel,at91sam9x5-spi";
reg = <0xf8008000 0x100>; reg = <0xf8008000 0x100>;
interrupts = <25 4 3>; interrupts = <25 4 3>;
cs-gpios = <&pioC 25 0
&pioC 26 0 /* conflitcs with TWD1 and ISI_D11 */
&pioC 27 0 /* conflitcs with TWCK1 and ISI_D10 */
&pioC 28 0 /* conflitcs with PWMFI0 and ISI_D9 */
>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1>; pinctrl-0 = <&pinctrl_spi1>;
status = "disabled"; status = "disabled";
......
...@@ -32,6 +32,10 @@ main_clock: clock@0 { ...@@ -32,6 +32,10 @@ main_clock: clock@0 {
ahb { ahb {
apb { apb {
spi0: spi@f0004000 {
cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
};
macb0: ethernet@f0028000 { macb0: ethernet@f0028000 {
phy-mode = "rgmii"; phy-mode = "rgmii";
}; };
......
...@@ -174,6 +174,7 @@ clkevt32k_next_event(unsigned long delta, struct clock_event_device *dev) ...@@ -174,6 +174,7 @@ clkevt32k_next_event(unsigned long delta, struct clock_event_device *dev)
static struct clock_event_device clkevt = { static struct clock_event_device clkevt = {
.name = "at91_tick", .name = "at91_tick",
.features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
.shift = 32,
.rating = 150, .rating = 150,
.set_next_event = clkevt32k_next_event, .set_next_event = clkevt32k_next_event,
.set_mode = clkevt32k_mode, .set_mode = clkevt32k_mode,
...@@ -264,9 +265,11 @@ void __init at91rm9200_timer_init(void) ...@@ -264,9 +265,11 @@ void __init at91rm9200_timer_init(void)
at91_st_write(AT91_ST_RTMR, 1); at91_st_write(AT91_ST_RTMR, 1);
/* Setup timer clockevent, with minimum of two ticks (important!!) */ /* Setup timer clockevent, with minimum of two ticks (important!!) */
clkevt.mult = div_sc(AT91_SLOW_CLOCK, NSEC_PER_SEC, clkevt.shift);
clkevt.max_delta_ns = clockevent_delta2ns(AT91_ST_ALMV, &clkevt);
clkevt.min_delta_ns = clockevent_delta2ns(2, &clkevt) + 1;
clkevt.cpumask = cpumask_of(0); clkevt.cpumask = cpumask_of(0);
clockevents_config_and_register(&clkevt, AT91_SLOW_CLOCK, clockevents_register_device(&clkevt);
2, AT91_ST_ALMV);
/* register clocksource */ /* register clocksource */
clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK); clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment