Renesas ARM Based SoC sh73a0 Multiplatform Updates for v4.1
* Add multiplatform support to sh73a0 and its kzm9g board * Use Bus State Controller to enable ethernet for multiplatform sh73a0/kzm9g * Add PM domain support to multiplatform sh73a0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJU97BNAAoJENfPZGlqN0++sr8P/0GMFyARmTdVYVx/2OA3xc3k 4zJO2GtoT3vyPAYtjI4DX1ef3lVHnQd4J+Sh8gdYVGJ3iCz/kUNUgiFk7PrGqedr BriF33vtKcjcMm5oN6tblaR0UEhUDrDBh5lOO9FwoLGtzf/kVhRNXwFdsl4DHt8j a+Obw0Uj48dmbZaR0sTbPw4G4srqyFYpv3cZ/tlPplJfwOwOEOQFssnIrFAQ0JTI 1GNyYlGNH72Y7M+lNraqk5oO708nkm38paLk7E8mYGWD13IQCp8hi27vX0buUV4H lmA5f6a8vKo7M0J1wrb6IieFYimSR/msUHHjqr2Ot1LpR+0BGhOVPfDyWrf1F3Gy L+CkztggOz54WT8krGJW0mu1U0L5PmlOFzFieB6trLuhUDOq+3F2YUJeNom+MFoE zngo8yppyQUD0q015Jvm127IFyYn2w+jBoOZvpJ1K+Bv1QoW59kSXMB83PN3cq6y r5tvH6a/HGrga3sYLbcXZVu4wSVD1QvehIGteHcTVGR5WN4Go1EM+fCOv2VwzUA9 lyjmwEP/rBU5y7uKF3WLP1WTklsNIz+7P9NbdQXJHxUHyK8B4QeDTNG50MM0oHIS GDS8WRjsdf4lkipB/nP50tYcEYzqYMl/mMFTv+hv5YFT7mlo+cO/2VZa8vWaFO9L KhbTwk/Rtmdrxm5okb+g =7DUP -----END PGP SIGNATURE----- Merge tag 'renesas-sh73a0-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/multiplatform Merge "Renesas ARM Based SoC sh73a0 Multiplatform Updates for v4.1" from Simon Horman: * Add multiplatform support to sh73a0 and its kzm9g board * Use Bus State Controller to enable ethernet for multiplatform sh73a0/kzm9g * Add PM domain support to multiplatform sh73a0 * tag 'renesas-sh73a0-multiplatform-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (43 commits) ARM: shmobile: sh73a0: Remove restart callback ARM: shmobile: sh73a0 dtsi: Add PM domain support ARM: shmobile: sh73a0: Remove unused sh73a0_add_standard_devices_dt() ARM: shmobile: sh73a0 dtsi: Add Cortex-A9 TWD node ARM: shmobile: kzm9g-reference: Remove board C code and DT file ARM: shmobile: kzm9g dts: Move Ethernet node to BSC ARM: shmobile: sh73a0 dtsi: Add Bus State Controller node ARM: shmobile: kzm9g: Build DTS for Multiplatform ARM: shmobile: kzm9g dts: Sync with kzm9g-reference dts ARM: shmobile: sh73a0: Add Multiplatform support ARM: shmobile: sh73a0: Introduce generic setup callback ARM: shmobile: r8a7794: add SDHI DT support ARM: shmobile: r8a7790: add ADSP clocks ARM: shmobile: r8a7791: add ADSP clocks ARM: shmobile: henninger: add CAN0 DT support ARM: shmobile: r8a7791: add CAN DT support ARM: shmobile: r8a7791: add CAN clocks ARM: shmobile: r8a7790: add CAN DT support ARM: shmobile: r8a7790: add CAN clocks ARM: shmobile: emev2-kzm9d dts: Add PFC information for uart1 ... Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
c0b0bb6e14
27 changed files with 1164 additions and 516 deletions
|
@ -53,8 +53,6 @@ Boards:
|
|||
compatible = "renesas,kzm9d", "renesas,emev2"
|
||||
- Kyoto Microcomputer Co. KZM-A9-GT
|
||||
compatible = "renesas,kzm9g", "renesas,sh73a0"
|
||||
- Kyoto Microcomputer Co. KZM-A9-GT - Reference Device Tree Implementation
|
||||
compatible = "renesas,kzm9g-reference", "renesas,sh73a0"
|
||||
- Lager (RTP0RC7790SEB00010S)
|
||||
compatible = "renesas,lager", "renesas,r8a7790"
|
||||
- Marzen
|
||||
|
|
|
@ -468,8 +468,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE_LEGACY) += \
|
|||
r8a7778-bockw.dtb \
|
||||
r8a7778-bockw-reference.dtb \
|
||||
r8a7779-marzen.dtb \
|
||||
sh73a0-kzm9g.dtb \
|
||||
sh73a0-kzm9g-reference.dtb
|
||||
sh73a0-kzm9g.dtb
|
||||
dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += \
|
||||
emev2-kzm9d.dtb \
|
||||
r7s72100-genmai.dtb \
|
||||
|
@ -480,7 +479,8 @@ dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += \
|
|||
r8a7790-lager.dtb \
|
||||
r8a7791-henninger.dtb \
|
||||
r8a7791-koelsch.dtb \
|
||||
r8a7794-alt.dtb
|
||||
r8a7794-alt.dtb \
|
||||
sh73a0-kzm9g.dtb
|
||||
dtb-$(CONFIG_ARCH_SOCFPGA) += \
|
||||
socfpga_arria5_socdk.dtb \
|
||||
socfpga_arria10_socdk.dtb \
|
||||
|
|
|
@ -94,3 +94,16 @@
|
|||
vdd33a-supply = <®_3p3v>;
|
||||
};
|
||||
};
|
||||
|
||||
&pfc {
|
||||
uart1_pins: uart@e1030000 {
|
||||
renesas,groups = "uart1_ctrl", "uart1_data";
|
||||
renesas,function = "uart1";
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-0 = <&uart1_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -169,12 +169,18 @@
|
|||
clock-names = "sclk";
|
||||
};
|
||||
|
||||
pfc: pfc@e0140200 {
|
||||
compatible = "renesas,pfc-emev2";
|
||||
reg = <0xe0140200 0x100>;
|
||||
};
|
||||
|
||||
gpio0: gpio@e0050000 {
|
||||
compatible = "renesas,em-gio";
|
||||
reg = <0xe0050000 0x2c>, <0xe0050040 0x20>;
|
||||
interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 68 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 0 32>;
|
||||
#gpio-cells = <2>;
|
||||
ngpios = <32>;
|
||||
interrupt-controller;
|
||||
|
@ -186,6 +192,7 @@
|
|||
interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 70 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 32 32>;
|
||||
#gpio-cells = <2>;
|
||||
ngpios = <32>;
|
||||
interrupt-controller;
|
||||
|
@ -197,6 +204,7 @@
|
|||
interrupts = <0 71 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 72 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 64 32>;
|
||||
#gpio-cells = <2>;
|
||||
ngpios = <32>;
|
||||
interrupt-controller;
|
||||
|
@ -208,6 +216,7 @@
|
|||
interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 96 32>;
|
||||
#gpio-cells = <2>;
|
||||
ngpios = <32>;
|
||||
interrupt-controller;
|
||||
|
@ -219,6 +228,7 @@
|
|||
interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 76 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 128 31>;
|
||||
#gpio-cells = <2>;
|
||||
ngpios = <31>;
|
||||
interrupt-controller;
|
||||
|
|
|
@ -431,6 +431,18 @@
|
|||
clock-frequency = <27000000>;
|
||||
clock-output-names = "dv";
|
||||
};
|
||||
fmsick_clk: fmsick_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
clock-output-names = "fmsick";
|
||||
};
|
||||
fmsock_clk: fmsock_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
clock-output-names = "fmsock";
|
||||
};
|
||||
fsiack_clk: fsiack_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
|
@ -459,13 +471,78 @@
|
|||
};
|
||||
|
||||
/* Variable factor clocks (DIV6) */
|
||||
vclk1_clk: vclk1_clk@e6150008 {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150008 4>;
|
||||
clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
|
||||
<&cpg_clocks R8A7740_CLK_USB24S>,
|
||||
<&extal1_div2_clk>, <&extalr_clk>, <0>,
|
||||
<0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "vclk1";
|
||||
};
|
||||
vclk2_clk: vclk2_clk@e615000c {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe615000c 4>;
|
||||
clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
|
||||
<&cpg_clocks R8A7740_CLK_USB24S>,
|
||||
<&extal1_div2_clk>, <&extalr_clk>, <0>,
|
||||
<0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "vclk2";
|
||||
};
|
||||
fmsi_clk: fmsi_clk@e6150010 {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150010 4>;
|
||||
clocks = <&pllc1_div2_clk>, <&fmsick_clk>, <0>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "fmsi";
|
||||
};
|
||||
fmso_clk: fmso_clk@e6150014 {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150014 4>;
|
||||
clocks = <&pllc1_div2_clk>, <&fmsock_clk>, <0>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "fmso";
|
||||
};
|
||||
fsia_clk: fsia_clk@e6150018 {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150018 4>;
|
||||
clocks = <&pllc1_div2_clk>, <&fsiack_clk>, <0>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "fsia";
|
||||
};
|
||||
sub_clk: sub_clk@e6150080 {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150080 4>;
|
||||
clocks = <&pllc1_div2_clk>;
|
||||
clocks = <&pllc1_div2_clk>,
|
||||
<&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sub";
|
||||
};
|
||||
spu_clk: spu_clk@e6150084 {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150084 4>;
|
||||
clocks = <&pllc1_div2_clk>,
|
||||
<&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "spu";
|
||||
};
|
||||
vou_clk: vou_clk@e6150088 {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150088 4>;
|
||||
clocks = <&pllc1_div2_clk>, <&extal1_clk>, <&dv_clk>,
|
||||
<0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "vou";
|
||||
};
|
||||
stpro_clk: stpro_clk@e615009c {
|
||||
compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe615009c 4>;
|
||||
clocks = <&cpg_clocks R8A7740_CLK_PLLC0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "stpro";
|
||||
};
|
||||
|
||||
/* Fixed factor clocks */
|
||||
pllc1_div2_clk: pllc1_div2_clk {
|
||||
|
|
|
@ -792,6 +792,26 @@
|
|||
};
|
||||
};
|
||||
|
||||
can0: can@e6e80000 {
|
||||
compatible = "renesas,can-r8a7790";
|
||||
reg = <0 0xe6e80000 0 0x1000>;
|
||||
interrupts = <0 186 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp9_clks R8A7790_CLK_RCAN0>,
|
||||
<&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;
|
||||
clock-names = "clkp1", "clkp2", "can_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can1: can@e6e88000 {
|
||||
compatible = "renesas,can-r8a7790";
|
||||
reg = <0 0xe6e88000 0 0x1000>;
|
||||
interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp9_clks R8A7790_CLK_RCAN1>,
|
||||
<&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;
|
||||
clock-names = "clkp1", "clkp2", "can_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
clocks {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
@ -838,16 +858,34 @@
|
|||
clock-output-names = "audio_clk_c";
|
||||
};
|
||||
|
||||
/* External USB clock - can be overridden by the board */
|
||||
usb_extal_clk: usb_extal_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <48000000>;
|
||||
clock-output-names = "usb_extal";
|
||||
};
|
||||
|
||||
/* External CAN clock */
|
||||
can_clk: can_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board. */
|
||||
clock-frequency = <0>;
|
||||
clock-output-names = "can_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Special CPG clocks */
|
||||
cpg_clocks: cpg_clocks@e6150000 {
|
||||
compatible = "renesas,r8a7790-cpg-clocks",
|
||||
"renesas,rcar-gen2-cpg-clocks";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
clocks = <&extal_clk>;
|
||||
clocks = <&extal_clk &usb_extal_clk>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "main", "pll0", "pll1", "pll3",
|
||||
"lb", "qspi", "sdh", "sd0", "sd1",
|
||||
"z";
|
||||
"z", "rcan", "adsp";
|
||||
};
|
||||
|
||||
/* Variable factor clocks */
|
||||
|
@ -1121,13 +1159,16 @@
|
|||
mstp5_clks: mstp5_clks@e6150144 {
|
||||
compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
|
||||
reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
|
||||
clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>;
|
||||
clocks = <&hp_clk>, <&hp_clk>, <&cpg_clocks R8A7790_CLK_ADSP>,
|
||||
<&extal_clk>, <&p_clk>;
|
||||
#clock-cells = <1>;
|
||||
clock-indices = <
|
||||
R8A7790_CLK_AUDIO_DMAC0 R8A7790_CLK_AUDIO_DMAC1
|
||||
R8A7790_CLK_THERMAL R8A7790_CLK_PWM
|
||||
R8A7790_CLK_ADSP_MOD R8A7790_CLK_THERMAL
|
||||
R8A7790_CLK_PWM
|
||||
>;
|
||||
clock-output-names = "audmac0", "audmac1", "thermal", "pwm";
|
||||
clock-output-names = "audmac0", "audmac1", "adsp_mod",
|
||||
"thermal", "pwm";
|
||||
};
|
||||
mstp7_clks: mstp7_clks@e615014c {
|
||||
compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
|
||||
|
@ -1465,4 +1506,55 @@
|
|||
ssi9: ssi@9 { interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; };
|
||||
};
|
||||
};
|
||||
|
||||
ipmmu_sy0: mmu@e6280000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6280000 0 0x1000>;
|
||||
interrupts = <0 223 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 224 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_sy1: mmu@e6290000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6290000 0 0x1000>;
|
||||
interrupts = <0 225 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ds: mmu@e6740000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6740000 0 0x1000>;
|
||||
interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 199 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mp: mmu@ec680000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xec680000 0 0x1000>;
|
||||
interrupts = <0 226 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mx: mmu@fe951000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xfe951000 0 0x1000>;
|
||||
interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 221 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_rt: mmu@ffc80000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xffc80000 0 0x1000>;
|
||||
interrupts = <0 307 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -141,6 +141,11 @@
|
|||
renesas,groups = "vin0_data8", "vin0_clk";
|
||||
renesas,function = "vin0";
|
||||
};
|
||||
|
||||
can0_pins: can0 {
|
||||
renesas,groups = "can0_data";
|
||||
renesas,function = "can0";
|
||||
};
|
||||
};
|
||||
|
||||
&scif0 {
|
||||
|
@ -307,3 +312,9 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
pinctrl-0 = <&can0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -258,6 +258,17 @@
|
|||
system-clock-frequency = <11289600>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi-out {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con: endpoint {
|
||||
remote-endpoint = <&adv7511_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&du {
|
||||
|
@ -266,6 +277,11 @@
|
|||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
endpoint {
|
||||
remote-endpoint = <&adv7511_in>;
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
lvds_connector: endpoint {
|
||||
};
|
||||
|
@ -284,7 +300,7 @@
|
|||
};
|
||||
|
||||
du_pins: du {
|
||||
renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0";
|
||||
renesas,groups = "du_rgb666", "du_sync", "du_disp", "du_clk_out_0";
|
||||
renesas,function = "du";
|
||||
};
|
||||
|
||||
|
@ -506,6 +522,38 @@
|
|||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "renesas,24c02";
|
||||
reg = <0x50>;
|
||||
|
|
|
@ -816,6 +816,26 @@
|
|||
};
|
||||
};
|
||||
|
||||
can0: can@e6e80000 {
|
||||
compatible = "renesas,can-r8a7791";
|
||||
reg = <0 0xe6e80000 0 0x1000>;
|
||||
interrupts = <0 186 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp9_clks R8A7791_CLK_RCAN0>,
|
||||
<&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
|
||||
clock-names = "clkp1", "clkp2", "can_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can1: can@e6e88000 {
|
||||
compatible = "renesas,can-r8a7791";
|
||||
reg = <0 0xe6e88000 0 0x1000>;
|
||||
interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp9_clks R8A7791_CLK_RCAN1>,
|
||||
<&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
|
||||
clock-names = "clkp1", "clkp2", "can_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
clocks {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
@ -862,31 +882,50 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
/* External USB clock - can be overridden by the board */
|
||||
usb_extal_clk: usb_extal_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <48000000>;
|
||||
clock-output-names = "usb_extal";
|
||||
};
|
||||
|
||||
/* External CAN clock */
|
||||
can_clk: can_clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board. */
|
||||
clock-frequency = <0>;
|
||||
clock-output-names = "can_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Special CPG clocks */
|
||||
cpg_clocks: cpg_clocks@e6150000 {
|
||||
compatible = "renesas,r8a7791-cpg-clocks",
|
||||
"renesas,rcar-gen2-cpg-clocks";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
clocks = <&extal_clk>;
|
||||
clocks = <&extal_clk &usb_extal_clk>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "main", "pll0", "pll1", "pll3",
|
||||
"lb", "qspi", "sdh", "sd0", "z";
|
||||
"lb", "qspi", "sdh", "sd0", "z",
|
||||
"rcan", "adsp";
|
||||
};
|
||||
|
||||
/* Variable factor clocks */
|
||||
sd1_clk: sd2_clk@e6150078 {
|
||||
sd2_clk: sd2_clk@e6150078 {
|
||||
compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0 0xe6150078 0 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sd1";
|
||||
clock-output-names = "sd2";
|
||||
};
|
||||
sd2_clk: sd3_clk@e615026c {
|
||||
sd3_clk: sd3_clk@e615026c {
|
||||
compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0 0xe615026c 0 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sd2";
|
||||
clock-output-names = "sd3";
|
||||
};
|
||||
mmc0_clk: mmc0_clk@e6150240 {
|
||||
compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
|
||||
|
@ -1107,7 +1146,7 @@
|
|||
mstp3_clks: mstp3_clks@e615013c {
|
||||
compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
|
||||
reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
|
||||
clocks = <&cp_clk>, <&sd2_clk>, <&sd1_clk>, <&cpg_clocks R8A7791_CLK_SD0>,
|
||||
clocks = <&cp_clk>, <&sd3_clk>, <&sd2_clk>, <&cpg_clocks R8A7791_CLK_SD0>,
|
||||
<&mmc0_clk>, <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>,
|
||||
<&hp_clk>, <&hp_clk>;
|
||||
#clock-cells = <1>;
|
||||
|
@ -1125,13 +1164,16 @@
|
|||
mstp5_clks: mstp5_clks@e6150144 {
|
||||
compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
|
||||
reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
|
||||
clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>;
|
||||
clocks = <&hp_clk>, <&hp_clk>, <&cpg_clocks R8A7791_CLK_ADSP>,
|
||||
<&extal_clk>, <&p_clk>;
|
||||
#clock-cells = <1>;
|
||||
clock-indices = <
|
||||
R8A7791_CLK_AUDIO_DMAC0 R8A7791_CLK_AUDIO_DMAC1
|
||||
R8A7791_CLK_THERMAL R8A7791_CLK_PWM
|
||||
R8A7791_CLK_ADSP_MOD R8A7791_CLK_THERMAL
|
||||
R8A7791_CLK_PWM
|
||||
>;
|
||||
clock-output-names = "audmac0", "audmac1", "thermal", "pwm";
|
||||
clock-output-names = "audmac0", "audmac1", "adsp_mod",
|
||||
"thermal", "pwm";
|
||||
};
|
||||
mstp7_clks: mstp7_clks@e615014c {
|
||||
compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
|
||||
|
@ -1384,6 +1426,66 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_sy0: mmu@e6280000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6280000 0 0x1000>;
|
||||
interrupts = <0 223 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 224 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_sy1: mmu@e6290000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6290000 0 0x1000>;
|
||||
interrupts = <0 225 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ds: mmu@e6740000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6740000 0 0x1000>;
|
||||
interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 199 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mp: mmu@ec680000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xec680000 0 0x1000>;
|
||||
interrupts = <0 226 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mx: mmu@fe951000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xfe951000 0 0x1000>;
|
||||
interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 221 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_rt: mmu@ffc80000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xffc80000 0 0x1000>;
|
||||
interrupts = <0 307 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_gp: mmu@e62a0000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe62a0000 0 0x1000>;
|
||||
interrupts = <0 260 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 261 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
rcar_sound: rcar_sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
|
|
|
@ -43,6 +43,19 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
ðer {
|
||||
phy-handle = <&phy1>;
|
||||
renesas,ether-link-active-low;
|
||||
status = "okay";
|
||||
|
||||
phy1: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
micrel,led-mode = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&scif2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -107,6 +107,66 @@
|
|||
<0 17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
dmac0: dma-controller@e6700000 {
|
||||
compatible = "renesas,rcar-dmac";
|
||||
reg = <0 0xe6700000 0 0x20000>;
|
||||
interrupts = <0 197 IRQ_TYPE_LEVEL_HIGH
|
||||
0 200 IRQ_TYPE_LEVEL_HIGH
|
||||
0 201 IRQ_TYPE_LEVEL_HIGH
|
||||
0 202 IRQ_TYPE_LEVEL_HIGH
|
||||
0 203 IRQ_TYPE_LEVEL_HIGH
|
||||
0 204 IRQ_TYPE_LEVEL_HIGH
|
||||
0 205 IRQ_TYPE_LEVEL_HIGH
|
||||
0 206 IRQ_TYPE_LEVEL_HIGH
|
||||
0 207 IRQ_TYPE_LEVEL_HIGH
|
||||
0 208 IRQ_TYPE_LEVEL_HIGH
|
||||
0 209 IRQ_TYPE_LEVEL_HIGH
|
||||
0 210 IRQ_TYPE_LEVEL_HIGH
|
||||
0 211 IRQ_TYPE_LEVEL_HIGH
|
||||
0 212 IRQ_TYPE_LEVEL_HIGH
|
||||
0 213 IRQ_TYPE_LEVEL_HIGH
|
||||
0 214 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14";
|
||||
clocks = <&mstp2_clks R8A7794_CLK_SYS_DMAC0>;
|
||||
clock-names = "fck";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <15>;
|
||||
};
|
||||
|
||||
dmac1: dma-controller@e6720000 {
|
||||
compatible = "renesas,rcar-dmac";
|
||||
reg = <0 0xe6720000 0 0x20000>;
|
||||
interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH
|
||||
0 216 IRQ_TYPE_LEVEL_HIGH
|
||||
0 217 IRQ_TYPE_LEVEL_HIGH
|
||||
0 218 IRQ_TYPE_LEVEL_HIGH
|
||||
0 219 IRQ_TYPE_LEVEL_HIGH
|
||||
0 308 IRQ_TYPE_LEVEL_HIGH
|
||||
0 309 IRQ_TYPE_LEVEL_HIGH
|
||||
0 310 IRQ_TYPE_LEVEL_HIGH
|
||||
0 311 IRQ_TYPE_LEVEL_HIGH
|
||||
0 312 IRQ_TYPE_LEVEL_HIGH
|
||||
0 313 IRQ_TYPE_LEVEL_HIGH
|
||||
0 314 IRQ_TYPE_LEVEL_HIGH
|
||||
0 315 IRQ_TYPE_LEVEL_HIGH
|
||||
0 316 IRQ_TYPE_LEVEL_HIGH
|
||||
0 317 IRQ_TYPE_LEVEL_HIGH
|
||||
0 318 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14";
|
||||
clocks = <&mstp2_clks R8A7794_CLK_SYS_DMAC1>;
|
||||
clock-names = "fck";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <15>;
|
||||
};
|
||||
|
||||
scifa0: serial@e6c40000 {
|
||||
compatible = "renesas,scifa-r8a7794", "renesas,scifa";
|
||||
reg = <0 0xe6c40000 0 64>;
|
||||
|
@ -269,6 +329,41 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
ether: ethernet@ee700000 {
|
||||
compatible = "renesas,ether-r8a7794";
|
||||
reg = <0 0xee700000 0 0x400>;
|
||||
interrupts = <0 162 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp8_clks R8A7794_CLK_ETHER>;
|
||||
phy-mode = "rmii";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi0: sd@ee100000 {
|
||||
compatible = "renesas,sdhi-r8a7794";
|
||||
reg = <0 0xee100000 0 0x200>;
|
||||
interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks R8A7794_CLK_SDHI0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi1: sd@ee140000 {
|
||||
compatible = "renesas,sdhi-r8a7794";
|
||||
reg = <0 0xee140000 0 0x100>;
|
||||
interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks R8A7794_CLK_SDHI1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi2: sd@ee160000 {
|
||||
compatible = "renesas,sdhi-r8a7794";
|
||||
reg = <0 0xee160000 0 0x100>;
|
||||
interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks R8A7794_CLK_SDHI2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
clocks {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
@ -294,19 +389,19 @@
|
|||
"lb", "qspi", "sdh", "sd0", "z";
|
||||
};
|
||||
/* Variable factor clocks */
|
||||
sd1_clk: sd2_clk@e6150078 {
|
||||
sd2_clk: sd2_clk@e6150078 {
|
||||
compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0 0xe6150078 0 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sd1";
|
||||
clock-output-names = "sd2";
|
||||
};
|
||||
sd2_clk: sd3_clk@e615007c {
|
||||
sd3_clk: sd3_clk@e615026c {
|
||||
compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0 0xe615007c 0 4>;
|
||||
reg = <0 0xe615026c 0 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sd2";
|
||||
clock-output-names = "sd3";
|
||||
};
|
||||
mmc0_clk: mmc0_clk@e6150240 {
|
||||
compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
|
||||
|
@ -518,7 +613,7 @@
|
|||
mstp3_clks: mstp3_clks@e615013c {
|
||||
compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
|
||||
reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
|
||||
clocks = <&sd2_clk>, <&sd1_clk>, <&cpg_clocks R8A7794_CLK_SD0>,
|
||||
clocks = <&sd3_clk>, <&sd2_clk>, <&cpg_clocks R8A7794_CLK_SD0>,
|
||||
<&mmc0_clk>, <&rclk_clk>, <&hp_clk>, <&hp_clk>;
|
||||
#clock-cells = <1>;
|
||||
clock-indices = <
|
||||
|
@ -585,4 +680,54 @@
|
|||
clock-output-names = "scifa3", "scifa4", "scifa5";
|
||||
};
|
||||
};
|
||||
|
||||
ipmmu_sy0: mmu@e6280000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6280000 0 0x1000>;
|
||||
interrupts = <0 223 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 224 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_sy1: mmu@e6290000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6290000 0 0x1000>;
|
||||
interrupts = <0 225 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ds: mmu@e6740000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe6740000 0 0x1000>;
|
||||
interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 199 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_mp: mmu@ec680000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xec680000 0 0x1000>;
|
||||
interrupts = <0 226 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mx: mmu@fe951000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xfe951000 0 0x1000>;
|
||||
interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 221 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_gp: mmu@e62a0000 {
|
||||
compatible = "renesas,ipmmu-vmsa";
|
||||
reg = <0 0xe62a0000 0 0x1000>;
|
||||
interrupts = <0 260 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 261 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,366 +0,0 @@
|
|||
/*
|
||||
* Device Tree Source for the KZM-A9-GT board
|
||||
*
|
||||
* Copyright (C) 2012 Horms Solutions Ltd.
|
||||
*
|
||||
* Based on sh73a0-kzm9g.dts
|
||||
* Copyright (C) 2012 Renesas Solutions Corp.
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public License
|
||||
* version 2. This program is licensed "as is" without any warranty of any
|
||||
* kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "sh73a0.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
/ {
|
||||
model = "KZM-A9-GT";
|
||||
compatible = "renesas,kzm9g-reference", "renesas,sh73a0";
|
||||
|
||||
aliases {
|
||||
serial4 = &scifa4;
|
||||
};
|
||||
|
||||
cpus {
|
||||
cpu@0 {
|
||||
cpu0-supply = <&vdd_dvfs>;
|
||||
operating-points = <
|
||||
/* kHz uV */
|
||||
1196000 1315000
|
||||
598000 1175000
|
||||
398667 1065000
|
||||
>;
|
||||
voltage-tolerance = <1>; /* 1% */
|
||||
};
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel rw";
|
||||
stdout-path = &scifa4;
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x41000000 0x1e800000>;
|
||||
};
|
||||
|
||||
reg_1p8v: regulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vmmc_sdhi0: regulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDHI0 Vcc";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
vmmc_sdhi2: regulator@3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDHI2 Vcc";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
lan9220@10000000 {
|
||||
compatible = "smsc,lan9220", "smsc,lan9115";
|
||||
reg = <0x10000000 0x100>;
|
||||
phy-mode = "mii";
|
||||
interrupt-parent = <&irqpin0>;
|
||||
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||
reg-io-width = <4>;
|
||||
smsc,irq-push-pull;
|
||||
smsc,save-mac-address;
|
||||
vddvario-supply = <®_1p8v>;
|
||||
vdd33a-supply = <®_3p3v>;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led1 {
|
||||
gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
|
||||
label = "LED1";
|
||||
};
|
||||
led2 {
|
||||
gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
|
||||
label = "LED2";
|
||||
};
|
||||
led3 {
|
||||
gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
|
||||
label = "LED3";
|
||||
};
|
||||
led4 {
|
||||
gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
|
||||
label = "LED4";
|
||||
};
|
||||
};
|
||||
|
||||
keyboard {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
back-key {
|
||||
gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_BACK>;
|
||||
label = "SW3";
|
||||
};
|
||||
|
||||
right-key {
|
||||
gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RIGHT>;
|
||||
label = "SW2-R";
|
||||
};
|
||||
|
||||
left-key {
|
||||
gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_LEFT>;
|
||||
label = "SW2-L";
|
||||
};
|
||||
|
||||
enter-key {
|
||||
gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_ENTER>;
|
||||
label = "SW2-P";
|
||||
};
|
||||
|
||||
up-key {
|
||||
gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_UP>;
|
||||
label = "SW2-U";
|
||||
};
|
||||
|
||||
down-key {
|
||||
gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_DOWN>;
|
||||
label = "SW2-D";
|
||||
};
|
||||
|
||||
home-key {
|
||||
gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_HOME>;
|
||||
label = "SW1";
|
||||
};
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,format = "left_j";
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&sh_fsi2 0>;
|
||||
};
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&ak4648>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
system-clock-frequency = <11289600>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cmt1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&extal2_clk {
|
||||
clock-frequency = <48000000>;
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
as3711@40 {
|
||||
compatible = "ams,as3711";
|
||||
reg = <0x40>;
|
||||
|
||||
regulators {
|
||||
vdd_dvfs: sd1 {
|
||||
regulator-name = "1.315V CPU";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
sd2 {
|
||||
regulator-name = "1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
sd4 {
|
||||
regulator-name = "1.215V";
|
||||
regulator-min-microvolt = <1215000>;
|
||||
regulator-max-microvolt = <1235000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo2 {
|
||||
regulator-name = "2.8V CPU";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo3 {
|
||||
regulator-name = "3.0V CPU";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo4 {
|
||||
regulator-name = "2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo5 {
|
||||
regulator-name = "2.8V #2";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo7 {
|
||||
regulator-name = "1.15V CPU";
|
||||
regulator-min-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo8 {
|
||||
regulator-name = "1.15V CPU #2";
|
||||
regulator-min-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ak4648: ak4648@12 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "asahi-kasei,ak4648";
|
||||
reg = <0x12>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
pinctrl-0 = <&i2c3_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
pcf8575: gpio@20 {
|
||||
compatible = "nxp,pcf8575";
|
||||
reg = <0x20>;
|
||||
interrupt-parent = <&irqpin2>;
|
||||
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmcif {
|
||||
pinctrl-0 = <&mmcif_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
bus-width = <8>;
|
||||
vmmc-supply = <®_1p8v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pfc {
|
||||
i2c3_pins: i2c3 {
|
||||
renesas,groups = "i2c3_1";
|
||||
renesas,function = "i2c3";
|
||||
};
|
||||
|
||||
mmcif_pins: mmc {
|
||||
mux {
|
||||
renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
|
||||
renesas,function = "mmc0";
|
||||
};
|
||||
cfg {
|
||||
renesas,groups = "mmc0_data8_0";
|
||||
renesas,pins = "PORT279";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
scifa4_pins: serial4 {
|
||||
renesas,groups = "scifa4_data", "scifa4_ctrl";
|
||||
renesas,function = "scifa4";
|
||||
};
|
||||
|
||||
sdhi0_pins: sd0 {
|
||||
renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
|
||||
renesas,function = "sdhi0";
|
||||
};
|
||||
|
||||
sdhi2_pins: sd2 {
|
||||
renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
|
||||
renesas,function = "sdhi2";
|
||||
};
|
||||
|
||||
fsia_pins: sounda {
|
||||
renesas,groups = "fsia_mclk_in", "fsia_sclk_in",
|
||||
"fsia_data_in", "fsia_data_out";
|
||||
renesas,function = "fsia";
|
||||
};
|
||||
};
|
||||
|
||||
&scifa4 {
|
||||
pinctrl-0 = <&scifa4_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhi0 {
|
||||
pinctrl-0 = <&sdhi0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
vmmc-supply = <&vmmc_sdhi0>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhi2 {
|
||||
pinctrl-0 = <&sdhi2_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
vmmc-supply = <&vmmc_sdhi2>;
|
||||
bus-width = <4>;
|
||||
broken-cd;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sh_fsi2 {
|
||||
pinctrl-0 = <&fsia_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
|
@ -1,6 +1,9 @@
|
|||
/*
|
||||
* Device Tree Source for the KZM-A9-GT board
|
||||
*
|
||||
* Copyright (C) 2012 Horms Solutions Ltd.
|
||||
*
|
||||
* Based on sh73a0-kzm9g.dts
|
||||
* Copyright (C) 2012 Renesas Solutions Corp.
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public License
|
||||
|
@ -10,17 +13,388 @@
|
|||
|
||||
/dts-v1/;
|
||||
#include "sh73a0.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
/ {
|
||||
model = "KZM-A9-GT";
|
||||
compatible = "renesas,kzm9g", "renesas,sh73a0";
|
||||
|
||||
aliases {
|
||||
serial4 = &scifa4;
|
||||
};
|
||||
|
||||
cpus {
|
||||
cpu@0 {
|
||||
cpu0-supply = <&vdd_dvfs>;
|
||||
operating-points = <
|
||||
/* kHz uV */
|
||||
1196000 1315000
|
||||
598000 1175000
|
||||
398667 1065000
|
||||
>;
|
||||
voltage-tolerance = <1>; /* 1% */
|
||||
};
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200 rw";
|
||||
bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel rw";
|
||||
stdout-path = &scifa4;
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x41000000 0x1e800000>;
|
||||
reg = <0x40000000 0x20000000>;
|
||||
};
|
||||
|
||||
reg_1p8v: regulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vmmc_sdhi0: regulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDHI0 Vcc";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
vmmc_sdhi2: regulator@3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SDHI2 Vcc";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led1 {
|
||||
gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
|
||||
label = "LED1";
|
||||
};
|
||||
led2 {
|
||||
gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
|
||||
label = "LED2";
|
||||
};
|
||||
led3 {
|
||||
gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
|
||||
label = "LED3";
|
||||
};
|
||||
led4 {
|
||||
gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
|
||||
label = "LED4";
|
||||
};
|
||||
};
|
||||
|
||||
keyboard {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
back-key {
|
||||
gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_BACK>;
|
||||
label = "SW3";
|
||||
};
|
||||
|
||||
right-key {
|
||||
gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RIGHT>;
|
||||
label = "SW2-R";
|
||||
};
|
||||
|
||||
left-key {
|
||||
gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_LEFT>;
|
||||
label = "SW2-L";
|
||||
};
|
||||
|
||||
enter-key {
|
||||
gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_ENTER>;
|
||||
label = "SW2-P";
|
||||
};
|
||||
|
||||
up-key {
|
||||
gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_UP>;
|
||||
label = "SW2-U";
|
||||
};
|
||||
|
||||
down-key {
|
||||
gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_DOWN>;
|
||||
label = "SW2-D";
|
||||
};
|
||||
|
||||
home-key {
|
||||
gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_HOME>;
|
||||
label = "SW1";
|
||||
};
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,format = "left_j";
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&sh_fsi2 0>;
|
||||
};
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&ak4648>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
system-clock-frequency = <11289600>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&bsc {
|
||||
ethernet@10000000 {
|
||||
compatible = "smsc,lan9220", "smsc,lan9115";
|
||||
reg = <0x10000000 0x100>;
|
||||
phy-mode = "mii";
|
||||
interrupt-parent = <&irqpin0>;
|
||||
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||
reg-io-width = <4>;
|
||||
smsc,irq-push-pull;
|
||||
smsc,save-mac-address;
|
||||
vddvario-supply = <®_1p8v>;
|
||||
vdd33a-supply = <®_3p3v>;
|
||||
};
|
||||
};
|
||||
|
||||
&cmt1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&extal2_clk {
|
||||
clock-frequency = <48000000>;
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
compass@c {
|
||||
compatible = "asahi-kasei,ak8975";
|
||||
reg = <0x0c>;
|
||||
interrupt-parent = <&irqpin3>;
|
||||
interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
|
||||
ak4648: codec@12 {
|
||||
compatible = "asahi-kasei,ak4648";
|
||||
reg = <0x12>;
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
accelerometer@1d {
|
||||
compatible = "adi,adxl34x";
|
||||
reg = <0x1d>;
|
||||
interrupt-parent = <&irqpin3>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
rtc@32 {
|
||||
compatible = "ricoh,r2025sd";
|
||||
reg = <0x32>;
|
||||
};
|
||||
|
||||
as3711@40 {
|
||||
compatible = "ams,as3711";
|
||||
reg = <0x40>;
|
||||
|
||||
regulators {
|
||||
vdd_dvfs: sd1 {
|
||||
regulator-name = "1.315V CPU";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
sd2 {
|
||||
regulator-name = "1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
sd4 {
|
||||
regulator-name = "1.215V";
|
||||
regulator-min-microvolt = <1215000>;
|
||||
regulator-max-microvolt = <1235000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo2 {
|
||||
regulator-name = "2.8V CPU";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo3 {
|
||||
regulator-name = "3.0V CPU";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo4 {
|
||||
regulator-name = "2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo5 {
|
||||
regulator-name = "2.8V #2";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo7 {
|
||||
regulator-name = "1.15V CPU";
|
||||
regulator-min-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo8 {
|
||||
regulator-name = "1.15V CPU #2";
|
||||
regulator-min-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
touchscreen@55 {
|
||||
compatible = "sitronix,st1232";
|
||||
reg = <0x55>;
|
||||
interrupt-parent = <&irqpin1>;
|
||||
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
pinctrl-0 = <&i2c3_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
pcf8575: gpio@20 {
|
||||
compatible = "nxp,pcf8575";
|
||||
reg = <0x20>;
|
||||
interrupt-parent = <&irqpin2>;
|
||||
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmcif {
|
||||
pinctrl-0 = <&mmcif_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
bus-width = <8>;
|
||||
vmmc-supply = <®_1p8v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pfc {
|
||||
i2c3_pins: i2c3 {
|
||||
renesas,groups = "i2c3_1";
|
||||
renesas,function = "i2c3";
|
||||
};
|
||||
|
||||
mmcif_pins: mmc {
|
||||
mux {
|
||||
renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
|
||||
renesas,function = "mmc0";
|
||||
};
|
||||
cfg {
|
||||
renesas,groups = "mmc0_data8_0";
|
||||
renesas,pins = "PORT279";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
scifa4_pins: serial4 {
|
||||
renesas,groups = "scifa4_data", "scifa4_ctrl";
|
||||
renesas,function = "scifa4";
|
||||
};
|
||||
|
||||
sdhi0_pins: sd0 {
|
||||
renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
|
||||
renesas,function = "sdhi0";
|
||||
};
|
||||
|
||||
sdhi2_pins: sd2 {
|
||||
renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
|
||||
renesas,function = "sdhi2";
|
||||
};
|
||||
|
||||
fsia_pins: sounda {
|
||||
renesas,groups = "fsia_mclk_in", "fsia_sclk_in",
|
||||
"fsia_data_in", "fsia_data_out";
|
||||
renesas,function = "fsia";
|
||||
};
|
||||
};
|
||||
|
||||
&scifa4 {
|
||||
pinctrl-0 = <&scifa4_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhi0 {
|
||||
pinctrl-0 = <&sdhi0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
vmmc-supply = <&vmmc_sdhi0>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhi2 {
|
||||
pinctrl-0 = <&sdhi2_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
vmmc-supply = <&vmmc_sdhi2>;
|
||||
bus-width = <4>;
|
||||
broken-cd;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sh_fsi2 {
|
||||
pinctrl-0 = <&fsia_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
/include/ "skeleton.dtsi"
|
||||
|
||||
#include <dt-bindings/clock/sh73a0-clock.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
/ {
|
||||
|
@ -26,15 +27,24 @@
|
|||
compatible = "arm,cortex-a9";
|
||||
reg = <0>;
|
||||
clock-frequency = <1196000000>;
|
||||
power-domains = <&pd_a2sl>;
|
||||
};
|
||||
cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <1>;
|
||||
clock-frequency = <1196000000>;
|
||||
power-domains = <&pd_a2sl>;
|
||||
};
|
||||
};
|
||||
|
||||
timer@f0000600 {
|
||||
compatible = "arm,cortex-a9-twd-timer";
|
||||
reg = <0xf0000600 0x20>;
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
clocks = <&twd_clk>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@f0001000 {
|
||||
compatible = "arm,cortex-a9-gic";
|
||||
#interrupt-cells = <3>;
|
||||
|
@ -49,6 +59,7 @@
|
|||
interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 38 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "sec", "temp";
|
||||
power-domains = <&pd_a4bc1>;
|
||||
};
|
||||
|
||||
sbsc1: memory-controller@fe400000 {
|
||||
|
@ -57,6 +68,7 @@
|
|||
interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "sec", "temp";
|
||||
power-domains = <&pd_a4bc0>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
|
@ -69,11 +81,12 @@
|
|||
compatible = "renesas,cmt-48-sh73a0", "renesas,cmt-48";
|
||||
reg = <0xe6138000 0x200>;
|
||||
interrupts = <0 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks SH73A0_CLK_CMT1>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&pd_c5>;
|
||||
|
||||
renesas,channels-mask = <0x3f>;
|
||||
|
||||
clocks = <&mstp3_clks SH73A0_CLK_CMT1>;
|
||||
clock-names = "fck";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -94,6 +107,9 @@
|
|||
0 6 IRQ_TYPE_LEVEL_HIGH
|
||||
0 7 IRQ_TYPE_LEVEL_HIGH
|
||||
0 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
|
||||
power-domains = <&pd_a4s>;
|
||||
control-parent;
|
||||
};
|
||||
|
||||
irqpin1: irqpin@e6900004 {
|
||||
|
@ -113,6 +129,8 @@
|
|||
0 14 IRQ_TYPE_LEVEL_HIGH
|
||||
0 15 IRQ_TYPE_LEVEL_HIGH
|
||||
0 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
|
||||
power-domains = <&pd_a4s>;
|
||||
control-parent;
|
||||
};
|
||||
|
||||
|
@ -133,6 +151,9 @@
|
|||
0 22 IRQ_TYPE_LEVEL_HIGH
|
||||
0 23 IRQ_TYPE_LEVEL_HIGH
|
||||
0 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
|
||||
power-domains = <&pd_a4s>;
|
||||
control-parent;
|
||||
};
|
||||
|
||||
irqpin3: irqpin@e690000c {
|
||||
|
@ -152,6 +173,9 @@
|
|||
0 30 IRQ_TYPE_LEVEL_HIGH
|
||||
0 31 IRQ_TYPE_LEVEL_HIGH
|
||||
0 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
|
||||
power-domains = <&pd_a4s>;
|
||||
control-parent;
|
||||
};
|
||||
|
||||
i2c0: i2c@e6820000 {
|
||||
|
@ -164,6 +188,7 @@
|
|||
0 169 IRQ_TYPE_LEVEL_HIGH
|
||||
0 170 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp1_clks SH73A0_CLK_IIC0>;
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -177,6 +202,7 @@
|
|||
0 53 IRQ_TYPE_LEVEL_HIGH
|
||||
0 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks SH73A0_CLK_IIC1>;
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -190,6 +216,7 @@
|
|||
0 173 IRQ_TYPE_LEVEL_HIGH
|
||||
0 174 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp0_clks SH73A0_CLK_IIC2>;
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -203,6 +230,7 @@
|
|||
0 185 IRQ_TYPE_LEVEL_HIGH
|
||||
0 186 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp4_clks SH73A0_CLK_IIC3>;
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -216,6 +244,7 @@
|
|||
0 189 IRQ_TYPE_LEVEL_HIGH
|
||||
0 190 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp4_clks SH73A0_CLK_IIC4>;
|
||||
power-domains = <&pd_c5>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -225,6 +254,7 @@
|
|||
interrupts = <0 140 IRQ_TYPE_LEVEL_HIGH
|
||||
0 141 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks SH73A0_CLK_MMCIF0>;
|
||||
power-domains = <&pd_a3sp>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -236,6 +266,7 @@
|
|||
0 84 IRQ_TYPE_LEVEL_HIGH
|
||||
0 85 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks SH73A0_CLK_SDHI0>;
|
||||
power-domains = <&pd_a3sp>;
|
||||
cap-sd-highspeed;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -247,6 +278,7 @@
|
|||
interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH
|
||||
0 89 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks SH73A0_CLK_SDHI1>;
|
||||
power-domains = <&pd_a3sp>;
|
||||
toshiba,mmc-wrprotect-disable;
|
||||
cap-sd-highspeed;
|
||||
status = "disabled";
|
||||
|
@ -258,6 +290,7 @@
|
|||
interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH
|
||||
0 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks SH73A0_CLK_SDHI2>;
|
||||
power-domains = <&pd_a3sp>;
|
||||
toshiba,mmc-wrprotect-disable;
|
||||
cap-sd-highspeed;
|
||||
status = "disabled";
|
||||
|
@ -269,6 +302,7 @@
|
|||
interrupts = <0 72 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp2_clks SH73A0_CLK_SCIFA0>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -278,6 +312,7 @@
|
|||
interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp2_clks SH73A0_CLK_SCIFA1>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -287,6 +322,7 @@
|
|||
interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp2_clks SH73A0_CLK_SCIFA2>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -296,6 +332,7 @@
|
|||
interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp2_clks SH73A0_CLK_SCIFA3>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -305,6 +342,7 @@
|
|||
interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp2_clks SH73A0_CLK_SCIFA4>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -314,6 +352,7 @@
|
|||
interrupts = <0 79 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp2_clks SH73A0_CLK_SCIFA5>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -323,6 +362,7 @@
|
|||
interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp3_clks SH73A0_CLK_SCIFA6>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -332,6 +372,7 @@
|
|||
interrupts = <0 143 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp2_clks SH73A0_CLK_SCIFA7>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -341,6 +382,7 @@
|
|||
interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp2_clks SH73A0_CLK_SCIFB>;
|
||||
clock-names = "sci_ick";
|
||||
power-domains = <&pd_a3sp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -359,6 +401,117 @@
|
|||
<&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
|
||||
<&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
|
||||
<&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
|
||||
power-domains = <&pd_c5>;
|
||||
};
|
||||
|
||||
sysc: system-controller@e6180000 {
|
||||
compatible = "renesas,sysc-sh73a0", "renesas,sysc-rmobile";
|
||||
reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
|
||||
|
||||
pm-domains {
|
||||
pd_c5: c5 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#power-domain-cells = <0>;
|
||||
|
||||
pd_c4: c4@0 {
|
||||
reg = <0>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_d4: d4@1 {
|
||||
reg = <1>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_a4bc0: a4bc0@4 {
|
||||
reg = <4>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_a4bc1: a4bc1@5 {
|
||||
reg = <5>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_a4lc0: a4lc0@6 {
|
||||
reg = <6>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_a4lc1: a4lc1@7 {
|
||||
reg = <7>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_a4mp: a4mp@8 {
|
||||
reg = <8>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#power-domain-cells = <0>;
|
||||
|
||||
pd_a3mp: a3mp@9 {
|
||||
reg = <9>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_a3vc: a3vc@10 {
|
||||
reg = <10>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
pd_a4rm: a4rm@12 {
|
||||
reg = <12>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#power-domain-cells = <0>;
|
||||
|
||||
pd_a3r: a3r@13 {
|
||||
reg = <13>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#power-domain-cells = <0>;
|
||||
|
||||
pd_a2rv: a2rv@14 {
|
||||
reg = <14>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pd_a4s: a4s@16 {
|
||||
reg = <16>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#power-domain-cells = <0>;
|
||||
|
||||
pd_a3sp: a3sp@17 {
|
||||
reg = <17>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_a3sg: a3sg@18 {
|
||||
reg = <18>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_a3sm: a3sm@19 {
|
||||
reg = <19>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#power-domain-cells = <0>;
|
||||
|
||||
pd_a2sl: a2sl@20 {
|
||||
reg = <20>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sh_fsi2: sound@ec230000 {
|
||||
|
@ -366,9 +519,22 @@
|
|||
compatible = "renesas,fsi2-sh73a0", "renesas,sh_fsi2";
|
||||
reg = <0xec230000 0x400>;
|
||||
interrupts = <0 146 0x4>;
|
||||
power-domains = <&pd_a4mp>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
bsc: bus@fec10000 {
|
||||
compatible = "renesas,bsc-sh73a0", "renesas,bsc",
|
||||
"simple-pm-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0x20000000>;
|
||||
reg = <0xfec10000 0x400>;
|
||||
interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&zb_clk>;
|
||||
power-domains = <&pd_a4s>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -426,133 +592,159 @@
|
|||
vclk1_clk: vclk1_clk@e6150008 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150008 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
|
||||
<&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
|
||||
<0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "vclk1";
|
||||
};
|
||||
vclk2_clk: vclk2_clk@e615000c {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe615000c 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
|
||||
<&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
|
||||
<0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "vclk2";
|
||||
};
|
||||
vclk3_clk: vclk3_clk@e615001c {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe615001c 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
|
||||
<&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
|
||||
<0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "vclk3";
|
||||
};
|
||||
zb_clk: zb_clk@e6150010 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150010 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <0>,
|
||||
<&cpg_clocks SH73A0_CLK_PLL2>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "zb";
|
||||
};
|
||||
flctl_clk: flctl_clk@e6150014 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150014 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <0>,
|
||||
<&cpg_clocks SH73A0_CLK_PLL2>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "flctlck";
|
||||
};
|
||||
sdhi0_clk: sdhi0_clk@e6150074 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150074 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&pll1_div13_clk>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sdhi0ck";
|
||||
};
|
||||
sdhi1_clk: sdhi1_clk@e6150078 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150078 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&pll1_div13_clk>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sdhi1ck";
|
||||
};
|
||||
sdhi2_clk: sdhi2_clk@e615007c {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe615007c 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&pll1_div13_clk>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sdhi2ck";
|
||||
};
|
||||
fsia_clk: fsia_clk@e6150018 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150018 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&fsiack_clk>, <&fsiack_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "fsia";
|
||||
};
|
||||
fsib_clk: fsib_clk@e6150090 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150090 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&fsibck_clk>, <&fsibck_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "fsib";
|
||||
};
|
||||
sub_clk: sub_clk@e6150080 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150080 4>;
|
||||
clocks = <&extal2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&extal2_clk>, <&extal2_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sub";
|
||||
};
|
||||
spua_clk: spua_clk@e6150084 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150084 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&extal2_clk>, <&extal2_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "spua";
|
||||
};
|
||||
spuv_clk: spuv_clk@e6150094 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150094 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&extal2_clk>, <&extal2_clk>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "spuv";
|
||||
};
|
||||
msu_clk: msu_clk@e6150088 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150088 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <0>,
|
||||
<&cpg_clocks SH73A0_CLK_PLL2>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "msu";
|
||||
};
|
||||
hsi_clk: hsi_clk@e615008c {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe615008c 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&pll1_div7_clk>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "hsi";
|
||||
};
|
||||
mfg1_clk: mfg1_clk@e6150098 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150098 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <0>,
|
||||
<&cpg_clocks SH73A0_CLK_PLL2>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "mfg1";
|
||||
};
|
||||
mfg2_clk: mfg2_clk@e615009c {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe615009c 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <0>,
|
||||
<&cpg_clocks SH73A0_CLK_PLL2>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "mfg2";
|
||||
};
|
||||
dsit_clk: dsit_clk@e6150060 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150060 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <0>,
|
||||
<&cpg_clocks SH73A0_CLK_PLL2>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "dsit";
|
||||
};
|
||||
dsi0p_clk: dsi0p_clk@e6150064 {
|
||||
compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
|
||||
reg = <0xe6150064 4>;
|
||||
clocks = <&pll1_div2_clk>;
|
||||
clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
|
||||
<&cpg_clocks SH73A0_CLK_MAIN>, <&extal2_clk>,
|
||||
<&extcki_clk>, <0>, <0>, <0>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "dsi0pck";
|
||||
};
|
||||
|
@ -695,5 +887,16 @@
|
|||
clock-output-names =
|
||||
"iic3", "iic4", "keysc";
|
||||
};
|
||||
mstp5_clks: mstp5_clks@e6150144 {
|
||||
compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
|
||||
reg = <0xe6150144 4>, <0xe615003c 4>;
|
||||
clocks = <&cpg_clocks SH73A0_CLK_HP>;
|
||||
#clock-cells = <1>;
|
||||
clock-indices = <
|
||||
SH73A0_CLK_INTCA0
|
||||
>;
|
||||
clock-output-names =
|
||||
"intca0";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -82,6 +82,11 @@ config ARCH_R8A7794
|
|||
bool "R-Car E2 (R8A77940)"
|
||||
select ARCH_RCAR_GEN2
|
||||
|
||||
config ARCH_SH73A0
|
||||
bool "SH-Mobile AG5 (R8A73A00)"
|
||||
select ARCH_RMOBILE
|
||||
select RENESAS_INTC_IRQPIN
|
||||
|
||||
comment "Renesas ARM SoCs Board Type"
|
||||
|
||||
config MACH_MARZEN
|
||||
|
@ -172,20 +177,6 @@ config MACH_KZM9G
|
|||
select SND_SOC_AK4642 if SND_SIMPLE_CARD
|
||||
select USE_OF
|
||||
|
||||
config MACH_KZM9G_REFERENCE
|
||||
bool "KZM-A9-GT board - Reference Device Tree Implementation"
|
||||
depends on ARCH_SH73A0
|
||||
select ARCH_REQUIRE_GPIOLIB
|
||||
select REGULATOR_FIXED_VOLTAGE if REGULATOR
|
||||
select SND_SOC_AK4642 if SND_SIMPLE_CARD
|
||||
select USE_OF
|
||||
---help---
|
||||
Use reference implementation of KZM-A9-GT board support
|
||||
which makes as greater use of device tree at the expense
|
||||
of not supporting a number of devices.
|
||||
|
||||
This is intended to aid developers
|
||||
|
||||
comment "Renesas ARM SoCs System Configuration"
|
||||
|
||||
config CPU_HAS_INTEVT
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
obj-y := timer.o console.o
|
||||
|
||||
# CPU objects
|
||||
obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o intc-sh73a0.o pm-sh73a0.o
|
||||
obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o pm-sh73a0.o
|
||||
obj-$(CONFIG_ARCH_R8A73A4) += setup-r8a73a4.o
|
||||
obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o pm-r8a7740.o
|
||||
obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o
|
||||
|
@ -56,8 +56,7 @@ obj-$(CONFIG_MACH_BOCKW) += board-bockw.o
|
|||
obj-$(CONFIG_MACH_BOCKW_REFERENCE) += board-bockw-reference.o
|
||||
obj-$(CONFIG_MACH_MARZEN) += board-marzen.o
|
||||
obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o
|
||||
obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o
|
||||
obj-$(CONFIG_MACH_KZM9G_REFERENCE) += board-kzm9g-reference.o
|
||||
obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o intc-sh73a0.o
|
||||
endif
|
||||
|
||||
# Framework support
|
||||
|
|
|
@ -4,7 +4,6 @@ loadaddr-$(CONFIG_MACH_ARMADILLO800EVA) += 0x40008000
|
|||
loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000
|
||||
loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000
|
||||
loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000
|
||||
loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000
|
||||
loadaddr-$(CONFIG_MACH_MARZEN) += 0x60008000
|
||||
|
||||
__ZRELADDR := $(sort $(loadaddr-y))
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
/*
|
||||
* KZM-A9-GT board support - Reference Device Tree Implementation
|
||||
*
|
||||
* Copyright (C) 2012 Horms Solutions Ltd.
|
||||
*
|
||||
* Based on board-kzm9g.c
|
||||
* Copyright (C) 2012 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
||||
#include <asm/hardware/cache-l2x0.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "sh73a0.h"
|
||||
|
||||
static void __init kzm_init(void)
|
||||
{
|
||||
sh73a0_add_standard_devices_dt();
|
||||
|
||||
#ifdef CONFIG_CACHE_L2X0
|
||||
/* Shared attribute override enable, 64K*8way */
|
||||
l2x0_init(IOMEM(0xf0100000), 0x00400000, 0xc20f0fff);
|
||||
#endif
|
||||
}
|
||||
|
||||
#define RESCNT2 IOMEM(0xe6188020)
|
||||
static void kzm9g_restart(enum reboot_mode mode, const char *cmd)
|
||||
{
|
||||
/* Do soft power on reset */
|
||||
writel((1 << 31), RESCNT2);
|
||||
}
|
||||
|
||||
static const char *kzm9g_boards_compat_dt[] __initdata = {
|
||||
"renesas,kzm9g-reference",
|
||||
NULL,
|
||||
};
|
||||
|
||||
DT_MACHINE_START(KZM9G_DT, "kzm9g-reference")
|
||||
.smp = smp_ops(sh73a0_smp_ops),
|
||||
.map_io = sh73a0_map_io,
|
||||
.init_early = shmobile_init_delay,
|
||||
.init_machine = kzm_init,
|
||||
.init_late = shmobile_init_late,
|
||||
.restart = kzm9g_restart,
|
||||
.dt_compat = kzm9g_boards_compat_dt,
|
||||
MACHINE_END
|
|
@ -9,7 +9,7 @@
|
|||
*
|
||||
**************************************************/
|
||||
|
||||
#if defined(CONFIG_MACH_KZM9G) || defined(CONFIG_MACH_KZM9G_REFERENCE)
|
||||
#ifdef CONFIG_MACH_KZM9G
|
||||
#define MEMORY_START 0x43000000
|
||||
#include "mach/head-kzm9g.txt"
|
||||
#else
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include <linux/platform_data/sh_ipmmu.h>
|
||||
#include <linux/platform_data/irq-renesas-intc-irqpin.h>
|
||||
|
||||
#include <asm/hardware/cache-l2x0.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
@ -784,22 +785,15 @@ void __init sh73a0_add_early_devices(void)
|
|||
|
||||
#ifdef CONFIG_USE_OF
|
||||
|
||||
void __init sh73a0_add_standard_devices_dt(void)
|
||||
static void __init sh73a0_generic_init(void)
|
||||
{
|
||||
/* clocks are setup late during boot in the case of DT */
|
||||
#ifndef CONFIG_COMMON_CLK
|
||||
sh73a0_clock_init();
|
||||
#ifdef CONFIG_CACHE_L2X0
|
||||
/* Shared attribute override enable, 64K*8way */
|
||||
l2x0_init(IOMEM(0xf0100000), 0x00400000, 0xc20f0fff);
|
||||
#endif
|
||||
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
|
||||
}
|
||||
|
||||
#define RESCNT2 IOMEM(0xe6188020)
|
||||
static void sh73a0_restart(enum reboot_mode mode, const char *cmd)
|
||||
{
|
||||
/* Do soft power on reset */
|
||||
writel((1 << 31), RESCNT2);
|
||||
}
|
||||
|
||||
static const char *sh73a0_boards_compat_dt[] __initdata = {
|
||||
"renesas,sh73a0",
|
||||
NULL,
|
||||
|
@ -809,9 +803,8 @@ DT_MACHINE_START(SH73A0_DT, "Generic SH73A0 (Flattened Device Tree)")
|
|||
.smp = smp_ops(sh73a0_smp_ops),
|
||||
.map_io = sh73a0_map_io,
|
||||
.init_early = shmobile_init_delay,
|
||||
.init_machine = sh73a0_add_standard_devices_dt,
|
||||
.init_machine = sh73a0_generic_init,
|
||||
.init_late = shmobile_init_late,
|
||||
.restart = sh73a0_restart,
|
||||
.dt_compat = sh73a0_boards_compat_dt,
|
||||
MACHINE_END
|
||||
#endif /* CONFIG_USE_OF */
|
||||
|
|
|
@ -77,7 +77,6 @@ extern void sh73a0_map_io(void);
|
|||
extern void sh73a0_earlytimer_init(void);
|
||||
extern void sh73a0_add_early_devices(void);
|
||||
extern void sh73a0_add_standard_devices(void);
|
||||
extern void sh73a0_add_standard_devices_dt(void);
|
||||
extern void sh73a0_clock_init(void);
|
||||
extern void sh73a0_pinmux_init(void);
|
||||
extern void sh73a0_pm_init(void);
|
||||
|
|
|
@ -37,11 +37,11 @@ static struct rcar_sysc_ch r8a7790_ca7_scu = {
|
|||
|
||||
static struct rcar_apmu_config r8a7790_apmu_config[] = {
|
||||
{
|
||||
.iomem = DEFINE_RES_MEM(0xe6152000, 0x88),
|
||||
.iomem = DEFINE_RES_MEM(0xe6152000, 0x188),
|
||||
.cpus = { 0, 1, 2, 3 },
|
||||
},
|
||||
{
|
||||
.iomem = DEFINE_RES_MEM(0xe6151000, 0x88),
|
||||
.iomem = DEFINE_RES_MEM(0xe6151000, 0x188),
|
||||
.cpus = { 0x100, 0x0101, 0x102, 0x103 },
|
||||
}
|
||||
};
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
static struct rcar_apmu_config r8a7791_apmu_config[] = {
|
||||
{
|
||||
.iomem = DEFINE_RES_MEM(0xe6152000, 0x88),
|
||||
.iomem = DEFINE_RES_MEM(0xe6152000, 0x188),
|
||||
.cpus = { 0, 1 },
|
||||
}
|
||||
};
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
#define SH73A0_SCU_BASE 0xf0000000
|
||||
|
||||
#ifdef CONFIG_HAVE_ARM_TWD
|
||||
#if defined(CONFIG_HAVE_ARM_TWD) && !defined(CONFIG_ARCH_MULTIPLATFORM)
|
||||
static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, SH73A0_SCU_BASE + 0x600, 29);
|
||||
void __init sh73a0_register_twd(void)
|
||||
{
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#define R8A7790_CLK_SD0 7
|
||||
#define R8A7790_CLK_SD1 8
|
||||
#define R8A7790_CLK_Z 9
|
||||
#define R8A7790_CLK_RCAN 10
|
||||
#define R8A7790_CLK_ADSP 11
|
||||
|
||||
/* MSTP0 */
|
||||
#define R8A7790_CLK_MSIOF0 0
|
||||
|
@ -80,6 +82,7 @@
|
|||
/* MSTP5 */
|
||||
#define R8A7790_CLK_AUDIO_DMAC1 1
|
||||
#define R8A7790_CLK_AUDIO_DMAC0 2
|
||||
#define R8A7790_CLK_ADSP_MOD 6
|
||||
#define R8A7790_CLK_THERMAL 22
|
||||
#define R8A7790_CLK_PWM 23
|
||||
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
#define R8A7791_CLK_SDH 6
|
||||
#define R8A7791_CLK_SD0 7
|
||||
#define R8A7791_CLK_Z 8
|
||||
#define R8A7791_CLK_RCAN 9
|
||||
#define R8A7791_CLK_ADSP 10
|
||||
|
||||
/* MSTP0 */
|
||||
#define R8A7791_CLK_MSIOF0 0
|
||||
|
@ -71,6 +73,7 @@
|
|||
/* MSTP5 */
|
||||
#define R8A7791_CLK_AUDIO_DMAC1 1
|
||||
#define R8A7791_CLK_AUDIO_DMAC0 2
|
||||
#define R8A7791_CLK_ADSP_MOD 6
|
||||
#define R8A7791_CLK_THERMAL 22
|
||||
#define R8A7791_CLK_PWM 23
|
||||
|
||||
|
|
|
@ -76,4 +76,7 @@
|
|||
#define SH73A0_CLK_IIC4 10
|
||||
#define SH73A0_CLK_KEYSC 3
|
||||
|
||||
/* MSTP5 */
|
||||
#define SH73A0_CLK_INTCA0 8
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue