diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/boot/dts/t1040d4rdb.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/t1040rdb.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/t104xqds.dtsi | 8 | ||||
-rw-r--r-- | arch/powerpc/mm/fsl_booke_mmu.c | 12 | ||||
-rw-r--r-- | arch/powerpc/mm/mmu_decl.h | 2 |
5 files changed, 38 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/t1040d4rdb.dts b/arch/powerpc/boot/dts/t1040d4rdb.dts index 666716f..e6bf1fc 100644 --- a/arch/powerpc/boot/dts/t1040d4rdb.dts +++ b/arch/powerpc/boot/dts/t1040d4rdb.dts @@ -127,27 +127,35 @@ }; phy_qsgmii_0: ethernet-phy@08 { reg = <0x08>; + interrupts = <0 1 0 0>; }; phy_qsgmii_1: ethernet-phy@09 { reg = <0x09>; + interrupts = <0 1 0 0>; }; phy_qsgmii_2: ethernet-phy@0a { reg = <0x0a>; + interrupts = <0 1 0 0>; }; phy_qsgmii_3: ethernet-phy@0b { reg = <0x0b>; + interrupts = <0 1 0 0>; }; phy_qsgmii_4: ethernet-phy@0c { reg = <0x0c>; + interrupts = <0 1 0 0>; }; phy_qsgmii_5: ethernet-phy@0d { reg = <0x0d>; + interrupts = <0 1 0 0>; }; phy_qsgmii_6: ethernet-phy@0e { reg = <0x0e>; + interrupts = <0 1 0 0>; }; phy_qsgmii_7: ethernet-phy@0f { reg = <0x0f>; + interrupts = <0 1 0 0>; }; }; }; diff --git a/arch/powerpc/boot/dts/t1040rdb.dts b/arch/powerpc/boot/dts/t1040rdb.dts index 4a3f207..af1db40 100644 --- a/arch/powerpc/boot/dts/t1040rdb.dts +++ b/arch/powerpc/boot/dts/t1040rdb.dts @@ -213,27 +213,35 @@ }; phy_qsgmii_0: ethernet-phy@04 { reg = <0x04>; + interrupts = <0 1 0 0>; }; phy_qsgmii_1: ethernet-phy@05 { reg = <0x05>; + interrupts = <0 1 0 0>; }; phy_qsgmii_2: ethernet-phy@06 { reg = <0x06>; + interrupts = <0 1 0 0>; }; phy_qsgmii_3: ethernet-phy@07 { reg = <0x07>; + interrupts = <0 1 0 0>; }; phy_qsgmii_4: ethernet-phy@08 { reg = <0x08>; + interrupts = <0 1 0 0>; }; phy_qsgmii_5: ethernet-phy@09 { reg = <0x09>; + interrupts = <0 1 0 0>; }; phy_qsgmii_6: ethernet-phy@0a { reg = <0x0a>; + interrupts = <0 1 0 0>; }; phy_qsgmii_7: ethernet-phy@0b { reg = <0x0b>; + interrupts = <0 1 0 0>; }; }; }; diff --git a/arch/powerpc/boot/dts/t104xqds.dtsi b/arch/powerpc/boot/dts/t104xqds.dtsi index 7474d19..c778a83 100644 --- a/arch/powerpc/boot/dts/t104xqds.dtsi +++ b/arch/powerpc/boot/dts/t104xqds.dtsi @@ -183,15 +183,19 @@ phy_s5_01: ethernet-phy@1c { reg = <0x14>; + interrupts = <1 1 0 0>; }; phy_s5_02: ethernet-phy@1d { reg = <0x15>; + interrupts = <1 1 0 0>; }; phy_s5_03: ethernet-phy@1e { reg = <0x16>; + interrupts = <1 1 0 0>; }; phy_s5_04: ethernet-phy@1f { reg = <0x17>; + interrupts = <1 1 0 0>; }; }; @@ -203,15 +207,19 @@ phy_s6_01: ethernet-phy@1c { reg = <0x18>; + interrupts = <1 1 0 0>; }; phy_s6_02: ethernet-phy@1d { reg = <0x19>; + interrupts = <1 1 0 0>; }; phy_s6_03: ethernet-phy@1e { reg = <0x1a>; + interrupts = <1 1 0 0>; }; phy_s6_04: ethernet-phy@1f { reg = <0x1b>; + interrupts = <1 1 0 0>; }; }; diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c index e52e121..360a0ce 100644 --- a/arch/powerpc/mm/fsl_booke_mmu.c +++ b/arch/powerpc/mm/fsl_booke_mmu.c @@ -147,6 +147,18 @@ void settlbcam(int index, unsigned long virt, phys_addr_t phys, loadcam_entry(index); } +void cleartlbcam(unsigned long virt, unsigned int pid) +{ + int i = 0; + for (i = 0; i < NUM_TLBCAMS; i++) { + if (tlbcam_addrs[i].start == virt) { + TLBCAM[i].MAS1 = 0; + loadcam_entry(i); + return; + } + } +} + unsigned long calc_cam_sz(unsigned long ram, unsigned long virt, phys_addr_t phys) { diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index dbbba8d..5880a74 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h @@ -94,6 +94,8 @@ extern void _tlbia(void); void settlbcam(int index, unsigned long virt, phys_addr_t phys, unsigned long size, unsigned long flags, unsigned int pid); +void cleartlbcam(unsigned long virt, unsigned int pid); + #ifdef CONFIG_PPC32 extern void mapin_ram(void); |